From 53ce286ceabb01934fadcc0bdd405cb1accaed7f Mon Sep 17 00:00:00 2001 From: Hans Petter Simonsen Date: Wed, 13 Nov 2024 12:11:51 +0100 Subject: [PATCH] Bump spring boot and refactor deprecations (#850) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump spring boot and refactor deprecations * Legg til kotlin-spring plugin for Ã¥ Ã¥pne alle Configuration klasser * Fix unintended merge of deps * Rydde vekk utkommentert kode * Null-safe hÃ¥ndtering i veilarbarenamapper etter sonar qualitygate * Null-safe hÃ¥ndtering i veilarbarenamapper etter sonar qualitygate --------- Co-authored-by: Sigurd Grøneng --- build.gradle.kts | 16 +---- .../aktivitet/AktivitetAppService.java | 7 +- .../aktivitet/AktivitetDataRowMapper.java | 11 ++- .../aktivitet/AktivitetService.java | 33 +++++---- .../mappers/AktivitetDataMapperService.java | 17 +++-- .../arena/VeilarbarenaClient.java | 4 +- .../arena/VeilarbarenaMapper.java | 36 +++++----- .../veilarbaktivitet/arena/model/ArenaId.java | 2 +- .../AvtaltMedNavController.java | 2 +- .../config/InternalController.java | 2 - .../config/OkHttpClientConfig.java | 8 +-- .../config/filter/SecureLogsFilter.java | 19 +++-- .../kvp/v2/KvpV2ClientImpl.java | 4 +- .../v2/ManuellStatusV2ClientImpl.java | 10 ++- .../client/OppfolgingClientImpl.java | 17 +++-- .../periode/SistePeriodeService.java | 2 +- .../nav/veilarbaktivitet/person/Person.java | 24 +++---- .../StillingFraNavController.java | 6 +- .../admin/KasserController.kt | 2 +- .../veilarbaktivitet/arena/ArenaController.kt | 2 +- .../VeilarbAktivitetResultSet.kt | 15 ++++ .../resources/application-local.properties | 2 +- src/main/resources/application.properties | 5 +- .../BrukernotifikasjonTest.java | 4 +- .../config/TestAuthContextFilter.java | 6 +- .../controller/AktivitetsplanRSTest.java | 9 ++- .../db/dao/AktivitetDAOTest.java | 70 +++++++++---------- .../InternAktivitetMapperTestContainer.java | 7 +- .../mock/MetricsClientMock.java | 2 +- .../service/AktivitetAppServiceTest.java | 11 ++- .../service/AktivitetServiceTest.java | 41 ++++++----- .../KafkaConsumerOnpremServiceTest.java | 2 - .../StillingFraNavControllerITest.java | 3 +- .../util/AktivitetTestService.java | 2 +- .../util/FrontendloggerTest.java | 1 - .../dto/AktivitetTypeDTOTestContainer.java | 11 ++- src/test/resources/application.properties | 7 +- 37 files changed, 207 insertions(+), 215 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index fa7a166b8..4be6ca1a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,9 +8,10 @@ val _version: String by project plugins { id("java") + id("org.jetbrains.kotlin.plugin.spring") version "2.0.21" id("application") id("maven-publish") - kotlin("jvm") version "2.0.20" + kotlin("jvm") version "2.0.21" id("org.openapi.generator") version "6.4.0" id("com.github.davidmc24.gradle.plugin.avro") version "1.3.0" id("project-report") @@ -33,15 +34,6 @@ kotlin { configurations.all { resolutionStrategy.failOnNonReproducibleResolution() - // Kan mest sannsynlig fjernes nÃ¥r vi oppgrader poao-tilgang og springboot -// resolutionStrategy { -// force("com.fasterxml.jackson.core:jackson-databind:2.16.0") -// force("com.fasterxml.jackson.core:jackson-core:2.16.0") -// force("com.fasterxml.jackson.core:jackson-annotations:2.16.0") -// force("com.fasterxml.jackson.core:jackson-datatype-jdk8:2.16.0") -// force("com.fasterxml.jackson.module:jackson-module-scala:2.16.0") -// force("com.fasterxml.jackson.module:jackson-module-scala_2.13:2.16.0") -// } } tasks.test { @@ -182,10 +174,6 @@ dependencies { implementation("org.flywaydb:flyway-database-postgresql:10.15.2") implementation("org.postgresql:postgresql:42.7.3") implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.1") -// implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.17.0") - - implementation("org.springframework.cloud:spring-cloud-starter-gateway-mvc:4.1.4") - // Hvis det ønskes swagger doc, foreslÃ¥s Ã¥ bruke springdoc (springdoc-openapi-starter-webmvc-ui - se no.nav.fo.veilarbdialog.rest.SwaggerConfig for eksempelconfig) implementation("io.swagger.core.v3:swagger-annotations:2.2.8") diff --git a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetAppService.java b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetAppService.java index c0baa7ede..c8bc62700 100644 --- a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetAppService.java +++ b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetAppService.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.aktivitet; import lombok.RequiredArgsConstructor; -import lombok.val; import no.nav.poao.dab.spring_auth.IAuthService; import no.nav.veilarbaktivitet.aktivitet.domain.AktivitetData; import no.nav.veilarbaktivitet.aktivitet.domain.AktivitetTransaksjonsType; @@ -203,7 +202,7 @@ private void kanEndreAktivitetEtikettGuard(AktivitetData orginalAktivitet, Aktiv @Transactional public AktivitetData oppdaterStatus(AktivitetData aktivitet) { - val originalAktivitet = hentAktivitet(aktivitet.getId()); + final var originalAktivitet = hentAktivitet(aktivitet.getId()); kanEndreAktivitetGuard(originalAktivitet, aktivitet.getVersjon(), aktivitet.getAktorId()); if (authService.erEksternBruker() && !TYPER_SOM_KAN_ENDRES_EKSTERNT.contains(originalAktivitet.getAktivitetType())) { @@ -219,7 +218,7 @@ public AktivitetData oppdaterStatus(AktivitetData aktivitet) { @Transactional public AktivitetData oppdaterEtikett(AktivitetData aktivitet) { - val originalAktivitet = hentAktivitet(aktivitet.getId()); + final var originalAktivitet = hentAktivitet(aktivitet.getId()); kanEndreAktivitetEtikettGuard(originalAktivitet, aktivitet); aktivitetService.oppdaterEtikett(originalAktivitet, aktivitet); return aktivitetService.hentAktivitetMedForhaandsorientering(aktivitet.getId()); @@ -227,7 +226,7 @@ public AktivitetData oppdaterEtikett(AktivitetData aktivitet) { @Transactional public AktivitetData oppdaterReferat(AktivitetData aktivitet) { - val originalAktivitet = hentAktivitet(aktivitet.getId()); + final var originalAktivitet = hentAktivitet(aktivitet.getId()); kanEndreAktivitetGuard(originalAktivitet, aktivitet.getVersjon(), aktivitet.getAktorId()); var oppdatertAktivtiet = aktivitetService.oppdaterReferat( diff --git a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetDataRowMapper.java b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetDataRowMapper.java index 69f6e5649..e218baa10 100644 --- a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetDataRowMapper.java +++ b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetDataRowMapper.java @@ -1,6 +1,5 @@ package no.nav.veilarbaktivitet.aktivitet; -import lombok.val; import no.nav.veilarbaktivitet.aktivitet.domain.*; import no.nav.veilarbaktivitet.aktivitet.dto.KanalDTO; import no.nav.veilarbaktivitet.aktivitetskort.dto.AktivitetskortType; @@ -29,10 +28,10 @@ public AktivitetData mapRow(ResultSet rs, int rowNum) throws SQLException { } public static AktivitetData mapAktivitet(ResultSet resultSet) throws SQLException { - val rs = new VeilarbAktivitetResultSet(resultSet); - val type = AktivitetTypeData.valueOf(rs.getString("aktivitet_type_kode")); + final var rs = new VeilarbAktivitetResultSet(resultSet); + final var type = AktivitetTypeData.valueOf(rs.getString("aktivitet_type_kode")); - val aktivitet = AktivitetData + final var aktivitet = AktivitetData .builder() .id(rs.getLong("aktivitet_id")) .funksjonellId(Database.hentMaybeUUID(rs, "funksjonell_id")) @@ -79,7 +78,7 @@ public static AktivitetData mapAktivitet(ResultSet resultSet) throws SQLExceptio } private static MoteData mapMoteData(ResultSet resultSet) throws SQLException { - val rs = new VeilarbAktivitetResultSet(resultSet); + final var rs = new VeilarbAktivitetResultSet(resultSet); return MoteData.builder() .adresse(rs.getString("adresse")) @@ -169,7 +168,7 @@ private static StillingFraNavData mapStillingFraNav(ResultSet resultSet) throws } private static EksternAktivitetData mapEksternAktivitetData(ResultSet resultSet) throws SQLException { - val rs = new VeilarbAktivitetResultSet(resultSet); + final var rs = new VeilarbAktivitetResultSet(resultSet); var arenaId = rs.getString("ARENA_ID"); return new EksternAktivitetData( rs.getString("SOURCE"), diff --git a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetService.java b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetService.java index fc95eb7b8..c450269db 100644 --- a/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetService.java +++ b/src/main/java/no/nav/veilarbaktivitet/aktivitet/AktivitetService.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.aktivitet; import lombok.AllArgsConstructor; -import lombok.val; import no.nav.veilarbaktivitet.aktivitet.domain.*; import no.nav.veilarbaktivitet.avtalt_med_nav.AvtaltMedNavService; import no.nav.veilarbaktivitet.avtalt_med_nav.Forhaandsorientering; @@ -104,10 +103,10 @@ public AktivitetData oppdaterStatus(AktivitetData originalAktivitet, AktivitetDa } public AktivitetData avsluttStillingFraNav(AktivitetData originalAktivitet, Ident endretAv) { - val originalStillingFraNav = originalAktivitet.getStillingFraNavData(); - val nyStillingFraNav = originalStillingFraNav.withLivslopsStatus(LivslopsStatus.AVBRUTT_AV_SYSTEM); + final var originalStillingFraNav = originalAktivitet.getStillingFraNavData(); + final var nyStillingFraNav = originalStillingFraNav.withLivslopsStatus(LivslopsStatus.AVBRUTT_AV_SYSTEM); - val nyAktivitet = originalAktivitet + final var nyAktivitet = originalAktivitet .toBuilder() .endretAv(endretAv.ident()) .endretAvType(endretAv.identType().toInnsender()) @@ -122,10 +121,10 @@ public AktivitetData avsluttStillingFraNav(AktivitetData originalAktivitet, Iden } public void oppdaterEtikett(AktivitetData originalAktivitet, AktivitetData aktivitet) { - val nyEtikett = aktivitet.getStillingsSoekAktivitetData().getStillingsoekEtikett(); - val originalStillingsAktivitet = originalAktivitet.getStillingsSoekAktivitetData(); - val nyStillingsAktivitet = originalStillingsAktivitet.withStillingsoekEtikett(nyEtikett); - val nyAktivitet = originalAktivitet + final var nyEtikett = aktivitet.getStillingsSoekAktivitetData().getStillingsoekEtikett(); + final var originalStillingsAktivitet = originalAktivitet.getStillingsSoekAktivitetData(); + final var nyStillingsAktivitet = originalStillingsAktivitet.withStillingsoekEtikett(nyEtikett); + final var nyAktivitet = originalAktivitet .toBuilder() .endretAvType(aktivitet.getEndretAvType()) .endretAv(aktivitet.getEndretAv()) @@ -137,7 +136,7 @@ public void oppdaterEtikett(AktivitetData originalAktivitet, AktivitetData aktiv } public void oppdaterAktivitetFrist(AktivitetData originalAktivitet, AktivitetData aktivitetData) { - val oppdatertAktivitetMedNyFrist = originalAktivitet + final var oppdatertAktivitetMedNyFrist = originalAktivitet .toBuilder() .endretAvType(aktivitetData.getEndretAvType()) .endretAv(aktivitetData.getEndretAv()) @@ -149,7 +148,7 @@ public void oppdaterAktivitetFrist(AktivitetData originalAktivitet, AktivitetDat } public void oppdaterMoteTidStedOgKanal(AktivitetData originalAktivitet, AktivitetData aktivitetData) { - val oppdatertAktivitetMedNyFrist = originalAktivitet + final var oppdatertAktivitetMedNyFrist = originalAktivitet .toBuilder() .endretAvType(aktivitetData.getEndretAvType()) .endretAv(aktivitetData.getEndretAv()) @@ -169,9 +168,9 @@ public AktivitetData oppdaterReferat( AktivitetData originalAktivitet, AktivitetData aktivitetData ) { - val transaksjon = getReferatTransakjsonType(originalAktivitet, aktivitetData); + final var transaksjon = getReferatTransakjsonType(originalAktivitet, aktivitetData); - val merger = MappingUtils.merge(originalAktivitet, aktivitetData); + final var merger = MappingUtils.merge(originalAktivitet, aktivitetData); return aktivitetDAO.oppdaterAktivitet(originalAktivitet .withEndretDato(aktivitetData.getEndretDato()) .withEndretAv(aktivitetData.getEndretAv()) @@ -183,7 +182,7 @@ public AktivitetData oppdaterReferat( private AktivitetTransaksjonsType getReferatTransakjsonType(AktivitetData originalAktivitet, AktivitetData aktivitetData) { - val transaksjon = nullOrEmpty(originalAktivitet.getMoteData().getReferat()) + final var transaksjon = nullOrEmpty(originalAktivitet.getMoteData().getReferat()) ? AktivitetTransaksjonsType.REFERAT_OPPRETTET : AktivitetTransaksjonsType.REFERAT_ENDRET; if (!originalAktivitet.getMoteData().isReferatPublisert() && aktivitetData.getMoteData().isReferatPublisert()) { @@ -208,13 +207,13 @@ public void svarPaaKanCvDeles(AktivitetData originalAktivitet, AktivitetData akt } public AktivitetData oppdaterAktivitet(AktivitetData originalAktivitet, AktivitetData aktivitet) { - val blittAvtalt = originalAktivitet.isAvtalt() != aktivitet.isAvtalt(); + final var blittAvtalt = originalAktivitet.isAvtalt() != aktivitet.isAvtalt(); if (blittAvtalt) { throw new IllegalArgumentException(String.format("Kan ikke sette avtalt for aktivitetsid: %s gjennom oppdaterAktivitet", originalAktivitet.getId())); } - val transType = AktivitetTransaksjonsType.DETALJER_ENDRET; - val merger = MappingUtils.merge(originalAktivitet, aktivitet); - val result = aktivitetDAO.oppdaterAktivitet(originalAktivitet + final var transType = AktivitetTransaksjonsType.DETALJER_ENDRET; + final var merger = MappingUtils.merge(originalAktivitet, aktivitet); + final var result = aktivitetDAO.oppdaterAktivitet(originalAktivitet .toBuilder() .avsluttetKommentar(aktivitet.getAvsluttetKommentar()) .behandlingAktivitetData(merger.map(AktivitetData::getBehandlingAktivitetData).merge(this::mergeBehandlingAktivitetData)) diff --git a/src/main/java/no/nav/veilarbaktivitet/aktivitet/mappers/AktivitetDataMapperService.java b/src/main/java/no/nav/veilarbaktivitet/aktivitet/mappers/AktivitetDataMapperService.java index 4668663d2..898f0f5d1 100644 --- a/src/main/java/no/nav/veilarbaktivitet/aktivitet/mappers/AktivitetDataMapperService.java +++ b/src/main/java/no/nav/veilarbaktivitet/aktivitet/mappers/AktivitetDataMapperService.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.aktivitet.mappers; import lombok.RequiredArgsConstructor; -import lombok.val; import no.nav.common.client.aktoroppslag.AktorOppslagClient; import no.nav.common.types.identer.*; import no.nav.poao.dab.spring_auth.IAuthService; @@ -35,19 +34,19 @@ private String getEndretAv(Id bruker) { } public AktivitetData mapTilAktivitetData(AktivitetDTO aktivitetDTO) { - val id = Optional.ofNullable(aktivitetDTO.getId()) + final var id = Optional.ofNullable(aktivitetDTO.getId()) .filter(s -> !s.isEmpty()) .map(Long::parseLong) .orElse(null); - val versjon = Optional.ofNullable(aktivitetDTO.getVersjon()).map(Long::parseLong).orElse(0L); - val aktivitetType = Helpers.Type.getData(aktivitetDTO.getType()); - val innloggetBruker = authService.getLoggedInnUser(); - val endretAvType = innloggetBruker instanceof EksternBrukerId ? Innsender.BRUKER : Innsender.NAV; - val endretAv = getEndretAv(innloggetBruker); - val aktorId = userInContext.getAktorId(); + final var versjon = Optional.ofNullable(aktivitetDTO.getVersjon()).map(Long::parseLong).orElse(0L); + final var aktivitetType = Helpers.Type.getData(aktivitetDTO.getType()); + final var innloggetBruker = authService.getLoggedInnUser(); + final var endretAvType = innloggetBruker instanceof EksternBrukerId ? Innsender.BRUKER : Innsender.NAV; + final var endretAv = getEndretAv(innloggetBruker); + final var aktorId = userInContext.getAktorId(); var kontorSperreEnhet = kvpService.getKontorSperreEnhet(aktorId); - val aktivitetData = AktivitetData + final var aktivitetData = AktivitetData .builder() .id(id) .aktorId(aktorId) diff --git a/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaClient.java b/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaClient.java index 837f159db..0ecae7e5d 100644 --- a/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaClient.java +++ b/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaClient.java @@ -28,7 +28,7 @@ public class VeilarbarenaClient { private String veilarbarenaServiceUrl; public HealthStatus ping() { - String uri = String.format("%s/veilarbarena/internal/selftest", veilarbarenaServiceUrl); + String uri = "%s/veilarbarena/internal/selftest".formatted(veilarbarenaServiceUrl); // This endpoint this not need auth and therfore uses baseClient var basicHttpClient = RestClient.baseClientBuilder().build(); Request request = new Request.Builder() @@ -46,7 +46,7 @@ public HealthStatus ping() { @Timed public Optional hentAktiviteter(Person.Fnr fnr) { - String uri = String.format("%s/veilarbarena/api/arena/aktiviteter?fnr=%s", veilarbarenaServiceUrl, fnr.get()); + String uri = "%s/veilarbarena/api/arena/aktiviteter?fnr=%s".formatted(veilarbarenaServiceUrl, fnr.get()); Request request = new Request.Builder() .url(uri) .build(); diff --git a/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaMapper.java b/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaMapper.java index e89c5007f..83da9ffa7 100644 --- a/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaMapper.java +++ b/src/main/java/no/nav/veilarbaktivitet/arena/VeilarbarenaMapper.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.arena; import lombok.extern.slf4j.Slf4j; -import lombok.val; import no.nav.veilarbaktivitet.aktivitet.domain.AktivitetStatus; import no.nav.veilarbaktivitet.arena.model.*; import no.nav.veilarbaktivitet.oppfolging.periode.Oppfolgingsperiode; @@ -73,19 +72,19 @@ private static boolean etterFilterDato(Date dato) { } private static String getTittel(AktiviteterDTO.Tiltaksaktivitet tiltaksaktivitet){ - val erVanligAmo = tiltaksaktivitet.getTiltaksnavn().trim() + final var erVanligAmo = tiltaksaktivitet.getTiltaksnavn().trim() .equalsIgnoreCase(VANLIG_AMO_NAVN); if (erVanligAmo) { return "AMO-kurs: " + tiltaksaktivitet.getTiltakLokaltNavn(); } - val erGruppeAmo = tiltaksaktivitet.getTiltaksnavn().trim() + final var erGruppeAmo = tiltaksaktivitet.getTiltaksnavn().trim() .equalsIgnoreCase(GRUPPE_AMO_NAVN); if (erGruppeAmo) { return "Gruppe AMO: " + tiltaksaktivitet.getTiltakLokaltNavn(); } - val erEnkeltplassAmo = tiltaksaktivitet.getTiltaksnavn().trim() + final var erEnkeltplassAmo = tiltaksaktivitet.getTiltaksnavn().trim() .equalsIgnoreCase(ENKELTPLASS_AMO_NAVN); if (erEnkeltplassAmo) { return "Enkeltplass AMO: " + tiltaksaktivitet.getTiltakLokaltNavn(); @@ -95,9 +94,9 @@ private static String getTittel(AktiviteterDTO.Tiltaksaktivitet tiltaksaktivitet } static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Tiltaksaktivitet tiltaksaktivitet, List oppfolgingsperioder) { - val sistEndret = Optional.ofNullable(tiltaksaktivitet.getStatusSistEndret()); - val tilDatoDate = mapPeriodeToDate(tiltaksaktivitet.getDeltakelsePeriode(), AktiviteterDTO.Tiltaksaktivitet.DeltakelsesPeriode::getTom); - val tilDato = tilDatoDate != null ? DateUtils.dateToLocalDate(tilDatoDate) : null; + final var sistEndret = Optional.ofNullable(tiltaksaktivitet.getStatusSistEndret()); + final var tilDatoDate = mapPeriodeToDate(tiltaksaktivitet.getDeltakelsePeriode(), AktiviteterDTO.Tiltaksaktivitet.DeltakelsesPeriode::getTom); + final var tilDato = tilDatoDate != null ? DateUtils.dateToLocalDate(tilDatoDate) : null; LocalDate oppslagsDato; if (sistEndret.isEmpty() && tilDato == null) { oppslagsDato = null; @@ -112,9 +111,9 @@ static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Tiltaksaktivitet tiltaks } else { oppslagsDato = sistEndret.get(); } - val oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, oppslagsDato); + final var oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, oppslagsDato); - val arenaAktivitetDTO = new ArenaAktivitetDTO() + final var arenaAktivitetDTO = new ArenaAktivitetDTO() .setId(tiltaksaktivitet.getAktivitetId().id()) .setStatus(EnumUtils.valueOf(ArenaStatus.class, tiltaksaktivitet.getDeltakerStatus()).getStatus()) .setType(ArenaAktivitetTypeDTO.TILTAKSAKTIVITET) @@ -131,19 +130,19 @@ static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Tiltaksaktivitet tiltaks .setOpprettetDato(mapToDate(tiltaksaktivitet.getStatusSistEndret())) .setOppfolgingsperiodeId(oppfolgingsperiode != null ? oppfolgingsperiode.oppfolgingsperiodeId() : null); - val erVanligAmo = tiltaksaktivitet.getTiltaksnavn().trim() + final var erVanligAmo = tiltaksaktivitet.getTiltaksnavn().trim() .equalsIgnoreCase(VANLIG_AMO_NAVN); arenaAktivitetDTO.setTittel(getTittel(tiltaksaktivitet)); - val erJobbKlubb = tiltaksaktivitet.getTiltaksnavn().trim() + final var erJobbKlubb = tiltaksaktivitet.getTiltaksnavn().trim() .equalsIgnoreCase(JOBBKLUBB_NAVN); if (erJobbKlubb) { arenaAktivitetDTO.setBeskrivelse(tiltaksaktivitet.getTiltakLokaltNavn()); } - val arenaEtikett = Arrays.stream(ArenaStatusEtikettDTO.values()) + final var arenaEtikett = Arrays.stream(ArenaStatusEtikettDTO.values()) .filter(value -> value.name().equals(tiltaksaktivitet.getDeltakerStatus())) .findFirst() .orElse(null); @@ -169,10 +168,11 @@ static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Gruppeaktivitet gruppeak Date startDato = motePlan.getFirst().getStartDato(); Date sluttDato = motePlan.getLast().getSluttDato(); - AktivitetStatus status = "AVBR".equals(gruppeaktivitet.getStatus()) ? - AVBRUTT : mapTilAktivitetsStatus(startDato, sluttDato); + AktivitetStatus status = "AVBR".equals(gruppeaktivitet.getStatus()) + ? AVBRUTT + : mapTilAktivitetsStatus(startDato, sluttDato); - val oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, toLocalDate(startDato)); + final var oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, toLocalDate(startDato)); return new ArenaAktivitetDTO() .setId(gruppeaktivitet.getAktivitetId().id()) @@ -191,7 +191,7 @@ static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Gruppeaktivitet gruppeak static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Utdanningsaktivitet utdanningsaktivitet, List oppfolgingsperioder) { Date startDato = mapToDate(utdanningsaktivitet.getAktivitetPeriode().getFom()); Date sluttDato = mapToDate(utdanningsaktivitet.getAktivitetPeriode().getTom()); - val oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, toLocalDate(startDato)); + final var oppfolgingsperiode = finnOppfolgingsperiodeForArenaAktivitet(oppfolgingsperioder, toLocalDate(startDato)); return new ArenaAktivitetDTO() .setId(utdanningsaktivitet.getAktivitetId().id()) @@ -208,6 +208,10 @@ static ArenaAktivitetDTO mapTilAktivitet(AktiviteterDTO.Utdanningsaktivitet utda private static AktivitetStatus mapTilAktivitetsStatus(Date startDato, Date sluttDato) { + if (startDato == null || sluttDato == null) { + // Har aldri skjedd, men legger inn null-safe hÃ¥ndtering + return PLANLAGT; + } LocalDateTime now = LocalDateTime.now(); LocalDateTime startDatoStart = ofInstant(startDato.toInstant(), systemDefault()).toLocalDate().atStartOfDay(); diff --git a/src/main/java/no/nav/veilarbaktivitet/arena/model/ArenaId.java b/src/main/java/no/nav/veilarbaktivitet/arena/model/ArenaId.java index de0efec47..8b252099a 100644 --- a/src/main/java/no/nav/veilarbaktivitet/arena/model/ArenaId.java +++ b/src/main/java/no/nav/veilarbaktivitet/arena/model/ArenaId.java @@ -43,7 +43,7 @@ public ArenaId(String id) { this.id = ARENA_PREFIX + id.trim(); } else { - throw new IllegalArgumentException(String.format("Argument: %s is not a valid ArenaId", id)); + throw new IllegalArgumentException("Argument: %s is not a valid ArenaId".formatted(id)); } } diff --git a/src/main/java/no/nav/veilarbaktivitet/avtalt_med_nav/AvtaltMedNavController.java b/src/main/java/no/nav/veilarbaktivitet/avtalt_med_nav/AvtaltMedNavController.java index ced2a1295..c2daa55a0 100644 --- a/src/main/java/no/nav/veilarbaktivitet/avtalt_med_nav/AvtaltMedNavController.java +++ b/src/main/java/no/nav/veilarbaktivitet/avtalt_med_nav/AvtaltMedNavController.java @@ -25,7 +25,7 @@ public class AvtaltMedNavController { @PutMapping @AuthorizeFnr(auditlogMessage = "Opprett forhaandsorientering", resourceIdParamName = "aktivitetId", resourceType = AktivitetResource.class) - public AktivitetDTO opprettFHO(@RequestBody AvtaltMedNavDTO avtaltMedNavDTO, @RequestParam("aktivitetId") String aktivitetId) { + public AktivitetDTO opprettFHO(@RequestBody AvtaltMedNavDTO avtaltMedNavDTO, @RequestParam String aktivitetId) { if (!authService.erInternBruker()) throw new ResponseStatusException(HttpStatus.FORBIDDEN, "Bare interne brukere kan opprettte FHO"); var forhaandsorientering = avtaltMedNavDTO.getForhaandsorientering(); diff --git a/src/main/java/no/nav/veilarbaktivitet/config/InternalController.java b/src/main/java/no/nav/veilarbaktivitet/config/InternalController.java index 32be0159c..2960827a3 100644 --- a/src/main/java/no/nav/veilarbaktivitet/config/InternalController.java +++ b/src/main/java/no/nav/veilarbaktivitet/config/InternalController.java @@ -7,7 +7,6 @@ import no.nav.common.health.selftest.SelftestHtmlGenerator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -29,7 +28,6 @@ public class InternalController { private final JdbcTemplate db; private final SelfTestChecks selftestChecks; - @Autowired public InternalController(JdbcTemplate db, SelfTestChecks selftestChecks) { this.db = db; this.selftestChecks = selftestChecks; diff --git a/src/main/java/no/nav/veilarbaktivitet/config/OkHttpClientConfig.java b/src/main/java/no/nav/veilarbaktivitet/config/OkHttpClientConfig.java index e47817bc9..1dcc8495c 100644 --- a/src/main/java/no/nav/veilarbaktivitet/config/OkHttpClientConfig.java +++ b/src/main/java/no/nav/veilarbaktivitet/config/OkHttpClientConfig.java @@ -64,10 +64,10 @@ public class OkHttpClientConfig { .build(); } - private final String veilarboppfolgingScope = String.format("api://%s-gcp.poao.veilarboppfolging/.default", isProduction().orElse(false) ? "prod" : "dev"); - private final String veilarbarenaScope = String.format("api://%s-fss.pto.veilarbarena/.default", isProduction().orElse(false) ? "prod" : "dev"); - private final String orkivarScope = String.format("api://%s-gcp.dab.orkivar/.default", isProduction().orElse(false) ? "prod" : "dev"); - private final String dialogScope = String.format("api://%s-gcp.dab.veilarbdialog/.default", isProduction().orElse(false) ? "prod" : "dev"); + private final String veilarboppfolgingScope = "api://%s-gcp.poao.veilarboppfolging/.default".formatted(isProduction().orElse(false) ? "prod" : "dev"); + private final String veilarbarenaScope = "api://%s-fss.pto.veilarbarena/.default".formatted(isProduction().orElse(false) ? "prod" : "dev"); + private final String orkivarScope = "api://%s-gcp.dab.orkivar/.default".formatted(isProduction().orElse(false) ? "prod" : "dev"); + private final String dialogScope = "api://%s-gcp.dab.veilarbdialog/.default".formatted(isProduction().orElse(false) ? "prod" : "dev"); private Interceptor azureAdInterceptor(Supplier getToken) { return chain -> { diff --git a/src/main/java/no/nav/veilarbaktivitet/config/filter/SecureLogsFilter.java b/src/main/java/no/nav/veilarbaktivitet/config/filter/SecureLogsFilter.java index e22222a2e..5b7b41f52 100644 --- a/src/main/java/no/nav/veilarbaktivitet/config/filter/SecureLogsFilter.java +++ b/src/main/java/no/nav/veilarbaktivitet/config/filter/SecureLogsFilter.java @@ -10,7 +10,6 @@ import java.io.IOException; -import static java.lang.String.format; import static no.nav.veilarbaktivitet.config.filter.EnhanceSecureLogsFilter.*; @Profile("!test") @@ -25,15 +24,15 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; HttpServletResponse httpResponse = (HttpServletResponse) servletResponse; - String msg = format("status=%s, method=%s, host=%s, path=%s, erInternBruker=%s, innloggetIdent=%s, queryString=%s, userContext=%s", - httpResponse.getStatus(), - httpRequest.getMethod(), - httpRequest.getServerName(), - httpRequest.getRequestURI(), - MDC.get(SECURELOGS_ER_INTERN_BRUKER), - MDC.get(SECURELOGS_INNLOGGET_BRUKER_IDENT), - httpRequest.getQueryString(), - MDC.get(SECURELOGS_USER_CONTEXT) + String msg = "status=%s, method=%s, host=%s, path=%s, erInternBruker=%s, innloggetIdent=%s, queryString=%s, userContext=%s".formatted( + httpResponse.getStatus(), + httpRequest.getMethod(), + httpRequest.getServerName(), + httpRequest.getRequestURI(), + MDC.get(SECURELOGS_ER_INTERN_BRUKER), + MDC.get(SECURELOGS_INNLOGGET_BRUKER_IDENT), + httpRequest.getQueryString(), + MDC.get(SECURELOGS_USER_CONTEXT) ); secureLog.info(msg); } diff --git a/src/main/java/no/nav/veilarbaktivitet/kvp/v2/KvpV2ClientImpl.java b/src/main/java/no/nav/veilarbaktivitet/kvp/v2/KvpV2ClientImpl.java index 8064a10f4..d320df0e7 100644 --- a/src/main/java/no/nav/veilarbaktivitet/kvp/v2/KvpV2ClientImpl.java +++ b/src/main/java/no/nav/veilarbaktivitet/kvp/v2/KvpV2ClientImpl.java @@ -22,7 +22,7 @@ class KvpV2ClientImpl implements KvpV2Client { private final OkHttpClient veilarboppfolgingHttpClient; public Optional get(Person.AktorId aktorId) { - String uri = String.format("%s/veilarboppfolging/api/v2/kvp?aktorId=%s", baseUrl, aktorId.get()); + String uri = "%s/veilarboppfolging/api/v2/kvp?aktorId=%s".formatted(baseUrl, aktorId.get()); Request request = new Request.Builder() .url(uri) .build(); @@ -34,7 +34,7 @@ public Optional get(Person.AktorId aktorId) { return RestUtils.parseJsonResponse(response, KvpV2DTO.class); } catch (Exception e) { - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, String.format("Feil ved kall mot %s - %s", request.url(), e.getMessage()), e); + throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil ved kall mot %s - %s".formatted(request.url(), e.getMessage()), e); } } diff --git a/src/main/java/no/nav/veilarbaktivitet/manuell_status/v2/ManuellStatusV2ClientImpl.java b/src/main/java/no/nav/veilarbaktivitet/manuell_status/v2/ManuellStatusV2ClientImpl.java index b20912636..77135baac 100644 --- a/src/main/java/no/nav/veilarbaktivitet/manuell_status/v2/ManuellStatusV2ClientImpl.java +++ b/src/main/java/no/nav/veilarbaktivitet/manuell_status/v2/ManuellStatusV2ClientImpl.java @@ -1,6 +1,7 @@ package no.nav.veilarbaktivitet.manuell_status.v2; import lombok.RequiredArgsConstructor; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import no.nav.common.rest.client.RestUtils; import no.nav.veilarbaktivitet.person.Person; @@ -22,13 +23,14 @@ public class ManuellStatusV2ClientImpl implements ManuellStatusV2Client { private final OkHttpClient veilarboppfolgingHttpClient; private final PersonService personService; + @Setter @Value("${VEILARBOPPFOLGINGAPI_URL}") private String baseUrl; public Optional get(Person.AktorId aktorId) { Person.Fnr fnr = personService.getFnrForAktorId(aktorId); - String uri = String.format("%s/veilarboppfolging/api/v2/manuell/status?fnr=%s", baseUrl, fnr.get()); + String uri = "%s/veilarboppfolging/api/v2/manuell/status?fnr=%s".formatted(baseUrl, fnr.get()); Request request = new Request.Builder() .url(uri) .build(); @@ -36,11 +38,7 @@ public Optional get(Person.AktorId aktorId) { RestUtils.throwIfNotSuccessful(response); return RestUtils.parseJsonResponse(response, ManuellStatusV2DTO.class); } catch (Exception e) { - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, String.format("Feil ved kall mot %s - %s", request.url(), e.getMessage()), e); + throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil ved kall mot %s - %s".formatted(request.url(), e.getMessage()), e); } } - - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; - } } diff --git a/src/main/java/no/nav/veilarbaktivitet/oppfolging/client/OppfolgingClientImpl.java b/src/main/java/no/nav/veilarbaktivitet/oppfolging/client/OppfolgingClientImpl.java index 7e8b510ab..328241dda 100644 --- a/src/main/java/no/nav/veilarbaktivitet/oppfolging/client/OppfolgingClientImpl.java +++ b/src/main/java/no/nav/veilarbaktivitet/oppfolging/client/OppfolgingClientImpl.java @@ -2,6 +2,7 @@ import io.micrometer.core.annotation.Timed; import lombok.RequiredArgsConstructor; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import no.nav.common.rest.client.RestUtils; import no.nav.veilarbaktivitet.oppfolging.periode.GjeldendePeriodeMetrikk; @@ -29,13 +30,14 @@ public class OppfolgingClientImpl implements OppfolgingClient { private final PersonService personService; private final GjeldendePeriodeMetrikk gjeldendePeriodeMetrikk; + @Setter @Value("${VEILARBOPPFOLGINGAPI_URL}") private String baseUrl; public Optional fetchUnderoppfolging(Person.AktorId aktorId) { Person.Fnr fnr = personService.getFnrForAktorId(aktorId); - String uri = String.format("%s/veilarboppfolging/api/v2/oppfolging?fnr=%s", baseUrl, fnr.get()); + String uri = "%s/veilarboppfolging/api/v2/oppfolging?fnr=%s".formatted(baseUrl, fnr.get()); Request request = new Request.Builder() .url(uri) .build(); @@ -52,7 +54,7 @@ public Optional fetchUnderoppfolging(Person.Akto public Optional fetchGjeldendePeriode(Person.AktorId aktorId) { Person.Fnr fnr = personService.getFnrForAktorId(aktorId); - String uri = String.format("%s/veilarboppfolging/api/v2/oppfolging/periode/gjeldende?fnr=%s", baseUrl, fnr.get()); + String uri = "%s/veilarboppfolging/api/v2/oppfolging/periode/gjeldende?fnr=%s".formatted(baseUrl, fnr.get()); Request request = new Request.Builder() .url(uri) .build(); @@ -73,7 +75,7 @@ public Optional fetchGjeldendePeriode(Person.AktorI @Override public List hentOppfolgingsperioder(Person.AktorId aktorId) { - String uri = String.format("%s/veilarboppfolging/api/v2/oppfolging/perioder?aktorId=%s", baseUrl, aktorId.get()); + String uri = "%s/veilarboppfolging/api/v2/oppfolging/perioder?aktorId=%s".formatted(baseUrl, aktorId.get()); Request request = new Request.Builder() .url(uri) .build(); @@ -87,7 +89,7 @@ public List hentOppfolgingsperioder(Person.AktorId @Override public Optional hentSak(UUID oppfolgingsperiodeId) { - String uri = String.format("%s/veilarboppfolging/api/v3/sak/%s", baseUrl, oppfolgingsperiodeId ); + String uri = "%s/veilarboppfolging/api/v3/sak/%s".formatted(baseUrl, oppfolgingsperiodeId); Request request = new Request.Builder() .url(uri) .post(RequestBody.create("", null)) @@ -105,7 +107,7 @@ public Optional hentSak(UUID oppfolgingsperiodeId) { @Override public Optional hentMÃ¥l(Person.Fnr fnr) { - String uri = String.format("%s/veilarboppfolging/api/oppfolging/mal?fnr=%s", baseUrl, fnr.get()); + String uri = "%s/veilarboppfolging/api/oppfolging/mal?fnr=%s".formatted(baseUrl, fnr.get()); Request request = new Request.Builder() .url(uri) .get() @@ -122,9 +124,6 @@ public Optional hentSak(UUID oppfolgingsperiodeId) { } private ResponseStatusException internalServerError(Exception cause, String url) { - throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, String.format("Feil ved kall mot %s - %s", url, cause.getMessage()), cause); - } - public void setBaseUrl(String baseUrl) { - this.baseUrl = baseUrl; + throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, "Feil ved kall mot %s - %s".formatted(url, cause.getMessage()), cause); } } diff --git a/src/main/java/no/nav/veilarbaktivitet/oppfolging/periode/SistePeriodeService.java b/src/main/java/no/nav/veilarbaktivitet/oppfolging/periode/SistePeriodeService.java index 7439fa1cb..7ccc2d70f 100644 --- a/src/main/java/no/nav/veilarbaktivitet/oppfolging/periode/SistePeriodeService.java +++ b/src/main/java/no/nav/veilarbaktivitet/oppfolging/periode/SistePeriodeService.java @@ -18,7 +18,7 @@ public class SistePeriodeService { @Timed public UUID hentGjeldendeOppfolgingsperiodeMedFallback(Person.AktorId aktorId) { - Supplier exceptionSupplier = () -> new IngenGjeldendePeriodeException(String.format("AktorId: %s har ingen gjeldende oppfølgingsperiode", aktorId.get())); + Supplier exceptionSupplier = () -> new IngenGjeldendePeriodeException("AktorId: %s har ingen gjeldende oppfølgingsperiode".formatted(aktorId.get())); Oppfolgingsperiode oppfolgingsperiode = sistePeriodeDAO.hentSisteOppfolgingsPeriode(aktorId) // Mangler aktiv oppfølgingsperiode diff --git a/src/main/java/no/nav/veilarbaktivitet/person/Person.java b/src/main/java/no/nav/veilarbaktivitet/person/Person.java index c64169998..fe9f69f7b 100644 --- a/src/main/java/no/nav/veilarbaktivitet/person/Person.java +++ b/src/main/java/no/nav/veilarbaktivitet/person/Person.java @@ -20,7 +20,7 @@ * Merk JsonSerializable.Base for Ã¥ støtte deserialisering av en person til en simpel json streng (brukerid). * Deserialisering av Person skjer kun i ett tilfelle, og det er under deserialisering av AktivitetData under skriving til topic.ut.aktivitetdata.rawjson. * Denne topicen er foreløpig ikke i bruk av andre funksjoner, og skal den tas i bruk, - * @TODO er det nok fornuftig Ã¥ mappe AktivitetData om til en dto før serialisering, og fjerne jackson-annotasjonene pÃ¥ denne klassen. + * TODO er det nok fornuftig Ã¥ mappe AktivitetData om til en dto før serialisering, og fjerne jackson-annotasjonene pÃ¥ denne klassen. */ public abstract class Person extends JsonSerializable.Base { private final Logger secureLogs = LoggerFactory.getLogger("SecureLog"); @@ -65,7 +65,7 @@ public Innsender tilInnsenderType() { if (this instanceof NavIdent) return Innsender.NAV; if (this instanceof SystemUser) return Innsender.SYSTEM; logWrongTypeToSecureLogs(); - throw new IllegalArgumentException(String.format("Ukjent persontype %s", this.getClass().getSimpleName())); + throw new IllegalArgumentException("Ukjent persontype %s".formatted(this.getClass().getSimpleName())); } public Ident tilIdent() { @@ -73,15 +73,14 @@ public Ident tilIdent() { if (this instanceof NavIdent) return new Ident(this.get(), IdentType.NAVIDENT); if (this instanceof SystemUser) return new Ident(this.get(), IdentType.SYSTEM); logWrongTypeToSecureLogs(); - throw new IllegalArgumentException(String.format("Ukjent persontype %s", this.getClass().getSimpleName())); + throw new IllegalArgumentException("Ukjent persontype %s".formatted(this.getClass().getSimpleName())); } public EksternBrukerId eksternBrukerId(){ if (this instanceof Fnr) return no.nav.common.types.identer.Fnr.of(this.get()); if (this instanceof AktorId) return no.nav.common.types.identer.AktorId.of(this.get()); logWrongTypeToSecureLogs(); - throw new IllegalStateException(String.format( - "Bare fnr eller aktorId kan brukes som eksternId, fikk %s", this.getClass().getSimpleName()) + throw new IllegalStateException("Bare fnr eller aktorId kan brukes som eksternId, fikk %s".formatted(this.getClass().getSimpleName()) ); } @@ -127,15 +126,12 @@ private SystemUser(String id) { } public static Person of(Id id) { - if (id instanceof no.nav.common.types.identer.Fnr) { - return fnr(id.get()); - } else if (id instanceof no.nav.common.types.identer.AktorId) { - return aktorId(id.get()); - } else if (id instanceof no.nav.common.types.identer.NavIdent) { - return navIdent(id.get()); - } else { - throw new IllegalStateException("Person mÃ¥ være enten fnr, aktørId eller navIdent"); - } + return switch (id) { + case no.nav.common.types.identer.Fnr fnr -> fnr(id.get()); + case no.nav.common.types.identer.AktorId aktorId -> aktorId(id.get()); + case no.nav.common.types.identer.NavIdent navIdent -> navIdent(id.get()); + case null, default -> throw new IllegalStateException("Person mÃ¥ være enten fnr, aktørId eller navIdent"); + }; } @Override diff --git a/src/main/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavController.java b/src/main/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavController.java index 160b61540..8f2b33bea 100644 --- a/src/main/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavController.java +++ b/src/main/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavController.java @@ -29,11 +29,11 @@ public class StillingFraNavController { @PutMapping("/kanDeleCV") @AuthorizeFnr(auditlogMessage = "oppdater kan dele CV", resourceIdParamName = "aktivitetId", resourceType = AktivitetResource.class) - public AktivitetDTO oppdaterKanCvDeles(@RequestParam("aktivitetId") String aktivitetId, @RequestBody DelingAvCvDTO delingAvCvDTO) { + public AktivitetDTO oppdaterKanCvDeles(@RequestParam String aktivitetId, @RequestBody DelingAvCvDTO delingAvCvDTO) { boolean erEksternBruker = authService.erEksternBruker(); var aktivitet = aktivitetAppService.hentAktivitet(Long.parseLong(aktivitetId)); if (aktivitet.getAktivitetType() != AktivitetTypeData.STILLING_FRA_NAV) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST, String.format("Kan bare dele cv pÃ¥ aktiviteter med type %s", AktivitetTypeData.STILLING_FRA_NAV)); + throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "Kan bare dele cv pÃ¥ aktiviteter med type %s".formatted(AktivitetTypeData.STILLING_FRA_NAV)); } if (aktivitet.getStillingFraNavData().getSvarfrist().toInstant().isBefore(Instant.now())) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST, String.format("Svarfrist %s er utløpt.", aktivitet.getStillingFraNavData().getSvarfrist())); @@ -53,7 +53,7 @@ public AktivitetDTO oppdaterKanCvDeles(@RequestParam("aktivitetId") String aktiv @PutMapping("/soknadStatus") @AuthorizeFnr(auditlogMessage = "oppdater soknadStatus", resourceIdParamName = "aktivitetId", resourceType = AktivitetResource.class) - public AktivitetDTO oppdaterSoknadstatus(@RequestParam("aktivitetId") String aktivitetId, @RequestBody SoknadsstatusDTO soknadsstatusDTO) { + public AktivitetDTO oppdaterSoknadstatus(@RequestParam String aktivitetId, @RequestBody SoknadsstatusDTO soknadsstatusDTO) { boolean erEksternBruker = authService.erEksternBruker(); var aktivitet = aktivitetAppService.hentAktivitet(Long.parseLong(aktivitetId)); authService.sjekkTilgangTilPerson(aktivitet.getAktorId().eksternBrukerId(), TilgangsType.LESE); // TODO SKRIVE diff --git a/src/main/kotlin/no/nav/veilarbaktivitet/admin/KasserController.kt b/src/main/kotlin/no/nav/veilarbaktivitet/admin/KasserController.kt index 283440664..ba30111aa 100644 --- a/src/main/kotlin/no/nav/veilarbaktivitet/admin/KasserController.kt +++ b/src/main/kotlin/no/nav/veilarbaktivitet/admin/KasserController.kt @@ -22,7 +22,7 @@ class KasserController( @PutMapping("/{aktivitetId}") @ResponseStatus(value = HttpStatus.OK) - fun kasserAktivitet(@PathVariable("aktivitetId") aktivitetId: String) { + fun kasserAktivitet(@PathVariable aktivitetId: String) { val id = aktivitetId.toLong() val aktivitetData = aktivitetDAO.hentAktivitet(id) val veilederIdent = Person.navIdent(authService.getInnloggetVeilederIdent().get()) diff --git a/src/main/kotlin/no/nav/veilarbaktivitet/arena/ArenaController.kt b/src/main/kotlin/no/nav/veilarbaktivitet/arena/ArenaController.kt index 3d2b9cc24..8cf1e0b27 100644 --- a/src/main/kotlin/no/nav/veilarbaktivitet/arena/ArenaController.kt +++ b/src/main/kotlin/no/nav/veilarbaktivitet/arena/ArenaController.kt @@ -33,7 +33,7 @@ open class ArenaController( open fun opprettFHO( @RequestBody forhaandsorientering: ForhaandsorienteringDTO?, @RequestParam arenaaktivitetId: ArenaId, - @RequestAttribute(name="fnr") fnr: Fnr + @RequestAttribute fnr: Fnr ): ArenaAktivitetDTO { if (!authService.erInternBruker()) throw ResponseStatusException(HttpStatus.FORBIDDEN, "MÃ¥ være internbruker") getInputFeilmelding(forhaandsorientering, arenaaktivitetId) diff --git a/src/main/kotlin/no/nav/veilarbaktivitet/veilarbdbutil/VeilarbAktivitetResultSet.kt b/src/main/kotlin/no/nav/veilarbaktivitet/veilarbdbutil/VeilarbAktivitetResultSet.kt index 879def212..143c2839b 100644 --- a/src/main/kotlin/no/nav/veilarbaktivitet/veilarbdbutil/VeilarbAktivitetResultSet.kt +++ b/src/main/kotlin/no/nav/veilarbaktivitet/veilarbdbutil/VeilarbAktivitetResultSet.kt @@ -16,4 +16,19 @@ class VeilarbAktivitetResultSet(private val resultSet: ResultSet): ResultSet by if (resultSet.getObject(columnLabel) == null) return null return resultSet.getBoolean(columnLabel) } + override fun isWrapperFor( iface: Class<*>): Boolean { + // TODO Auto-generated method stub + return iface != null && iface.isAssignableFrom(this.javaClass) + } + override fun unwrap( iface: Class): T { + // TODO Auto-generated method stub + try { + if (iface != null && iface.isAssignableFrom(this.javaClass)) { + return this as T + } + throw java.sql.SQLException("Auto-generated unwrap failed; Revisit implementation") + } catch ( e: Exception) { + throw java.sql.SQLException(e) + } + } } \ No newline at end of file diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties index 07a783069..1b502db48 100644 --- a/src/main/resources/application-local.properties +++ b/src/main/resources/application-local.properties @@ -4,7 +4,7 @@ management.endpoint.metrics.enabled=true management.endpoints.web.base-path=/internal management.endpoints.web.exposure.include=* management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true +management.prometheus.metrics.export.enabled=true app.env.aktivitetsplan.basepath=localhost:3000 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index add0075c3..898de30ac 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -35,6 +35,7 @@ app.env.aktivitetsplan.basepath=${AKTIVITETSPLAN_URL} app.env.naisAadDiscoveryUrl=${AZURE_APP_WELL_KNOWN_URL} app.env.naisAadClientId=${AZURE_APP_CLIENT_ID} +# TODO rydd bort de som ikke er i bruk app.kafka.brokersUrl=${KAFKA_BROKERS_URL} app.kafka.producer-client-id=veilarbaktivitet-producer app.kafka.consumer-group-id=veilarbaktivitet-consumer @@ -47,7 +48,6 @@ app.datasource.password=${DB_PASSWORD} orkivar.url=${ORKIVAR_URL} veilarbdialog.url=${VEILARBDIALOG_URL} axsys.url=${AXSYS_URL} -veilarbaktivitet-fss.url=${VEILARBAKTIVITET_FSS_URL} pdl.url=${PDL_URL} pdl.scope=${PDL_SCOPE} gcp.projectId=${GCP_TEAM_PROJECT_ID} @@ -65,6 +65,7 @@ app.env.scheduled.portefolje.initialDelay=30000 app.env.scheduled.portefolje.fixedDelay=500 ## SCHEDULER POOL SIZE ### spring.task.scheduling.pool.size=5 +#spring.threads.virtual.enabled=true <- Ikke enda - AuthContext fungerer ikke alltid - har ikke funnet ut hvorfor - THreadLocal skal funke likt med viruelle tråder ############################################### # TOPICS # ############################################### @@ -118,7 +119,5 @@ spring.kafka.producer.batch-size=1 spring.kafka.producer.properties.max.block.ms=2000 spring.kafka.producer.properties.enable.idempotence=true -spring.cloud.gateway.mvc.enabled=${FSS_PROXY_ENABLED:true} - app.env.kassering.godkjenteIdenter=${VEILARB_KASSERING_IDENTER} shedlock.lockAtLeastFor=PT1M \ No newline at end of file diff --git a/src/test/java/no/nav/veilarbaktivitet/brukernotifikasjon/BrukernotifikasjonTest.java b/src/test/java/no/nav/veilarbaktivitet/brukernotifikasjon/BrukernotifikasjonTest.java index becb85338..fa32f1d07 100644 --- a/src/test/java/no/nav/veilarbaktivitet/brukernotifikasjon/BrukernotifikasjonTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/brukernotifikasjon/BrukernotifikasjonTest.java @@ -322,7 +322,7 @@ void skal_kunne_opprette_brukernotifikasjon_pa_fho_pa_arena_aktiviteter_som_ikke sendMinsideVarselFraOutboxCron.sendBrukernotifikasjoner(); final ConsumerRecord oppgaveRecord = getSingleRecord(brukerVarselConsumer, brukervarselTopic, DEFAULT_WAIT_TIMEOUT_DURATION); var lenke = JsonUtils.fromJson(oppgaveRecord.value(), OpprettVarselDto.class).getLink(); - assertEquals(lenke, String.format("http://localhost:3000/aktivitet/vis/%s", arenaId.id())); + assertEquals(lenke, "http://localhost:3000/aktivitet/vis/%s".formatted(arenaId.id())); } @Test @@ -353,7 +353,7 @@ void skal_kunne_opprette_brukernotifications_pa_fho_pa_arena_aktiviteter_som_ER_ var oppgaveRecord = brukernotifikasjonAsserts.assertOppgaveSendt(mockBruker.getFnrAsFnr()); var lenke = oppgaveRecord.getLink(); - assertEquals(lenke, String.format("http://localhost:3000/aktivitet/vis/%s", tekniskId)); + assertEquals(lenke, "http://localhost:3000/aktivitet/vis/%s".formatted(tekniskId)); } @Test diff --git a/src/test/java/no/nav/veilarbaktivitet/config/TestAuthContextFilter.java b/src/test/java/no/nav/veilarbaktivitet/config/TestAuthContextFilter.java index 474d96858..6c117e960 100644 --- a/src/test/java/no/nav/veilarbaktivitet/config/TestAuthContextFilter.java +++ b/src/test/java/no/nav/veilarbaktivitet/config/TestAuthContextFilter.java @@ -19,8 +19,8 @@ public class TestAuthContextFilter implements Filter { public final static String TEST_AUDIENCE = "test-audience"; public final static String TEST_ISSUER = "https://testIssuer.test"; - public static final String identHeder = "test_ident"; - public static final String typeHeder = "test_ident_type"; + public static final String identHeder = "X_test_ident"; + public static final String typeHeder = "X_test_ident_type"; @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) { @@ -30,7 +30,7 @@ public void doFilter(ServletRequest servletRequest, ServletResponse servletRespo AuthContext authContext = new AuthContext( UserRole.valueOf(test_ident_type), - new PlainJWT((test_ident_type.equals("EKSTERN") ? brukerClaims(test_ident) : veilederClaims(test_ident))) + new PlainJWT((test_ident_type.equals(UserRole.EKSTERN.name()) ? brukerClaims(test_ident) : veilederClaims(test_ident))) ); AuthContextHolderThreadLocal.instance().withContext(authContext, () -> filterChain.doFilter(servletRequest, servletResponse)); diff --git a/src/test/java/no/nav/veilarbaktivitet/controller/AktivitetsplanRSTest.java b/src/test/java/no/nav/veilarbaktivitet/controller/AktivitetsplanRSTest.java index 1b7b45960..f1afa4f67 100644 --- a/src/test/java/no/nav/veilarbaktivitet/controller/AktivitetsplanRSTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/controller/AktivitetsplanRSTest.java @@ -2,7 +2,6 @@ import io.restassured.response.Response; import io.restassured.response.ValidatableResponse; -import lombok.val; import no.nav.common.types.identer.NavIdent; import no.nav.veilarbaktivitet.SpringBootTestBase; import no.nav.veilarbaktivitet.aktivitet.AktivitetDAO; @@ -300,12 +299,12 @@ private void nar_jeg_oppdaterer_aktiviten() { } private void nar_jeg_flytter_en_aktivitet_til_en_annen_status() { - val aktivitet = aktivitetTestService.hentAktiviteterForFnr(mockBruker, mockBrukersVeileder).getAktiviteter().getFirst(); + final var aktivitet = aktivitetTestService.hentAktiviteterForFnr(mockBruker, mockBrukersVeileder).getAktiviteter().getFirst(); this.aktivitet = aktivitetTestService.oppdaterAktivitetStatus(mockBruker, mockBrukersVeileder,aktivitet, nyAktivitetStatus); } private void nar_jeg_oppdaterer_etiketten_pa_en_aktivitet() { - val aktivitet = aktivitetTestService.hentAktiviteterForFnr(mockBruker, mockBrukersVeileder).getAktiviteter().getFirst(); + final var aktivitet = aktivitetTestService.hentAktiviteterForFnr(mockBruker, mockBrukersVeileder).getAktiviteter().getFirst(); this.aktivitet = aktivitetTestService.oppdaterAktivitetEtikett(mockBruker, mockBrukersVeileder,aktivitet, nyAktivitetEtikett); } @@ -320,12 +319,12 @@ private void nar_jeg_henter_versjoner_pa_denne_aktiviten() { private Date oldOpprettetDato; private void nar_jeg_oppdaterer_en_av_aktiviten() { - val originalAktivitet = aktivitetService.hentAktivitetMedForhaandsorientering(lagredeAktivitetsIder.getFirst()); + final var originalAktivitet = aktivitetService.hentAktivitetMedForhaandsorientering(lagredeAktivitetsIder.getFirst()); oldOpprettetDato = originalAktivitet.getOpprettetDato(); nyLenke = "itsOver9000.com"; nyAvsluttetKommentar = "The more I talk, the more i understand why i'm single"; - val nyAktivitet = originalAktivitet + final var nyAktivitet = originalAktivitet .toBuilder() .lenke(nyLenke) .avsluttetKommentar(nyAvsluttetKommentar) diff --git a/src/test/java/no/nav/veilarbaktivitet/db/dao/AktivitetDAOTest.java b/src/test/java/no/nav/veilarbaktivitet/db/dao/AktivitetDAOTest.java index b8ed780bb..b1cb36eac 100644 --- a/src/test/java/no/nav/veilarbaktivitet/db/dao/AktivitetDAOTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/db/dao/AktivitetDAOTest.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.db.dao; import lombok.extern.slf4j.Slf4j; -import lombok.val; import no.nav.veilarbaktivitet.SpringBootTestBase; import no.nav.veilarbaktivitet.admin.KasseringDAO; import no.nav.veilarbaktivitet.aktivitet.AktivitetDAO; @@ -33,7 +32,6 @@ import java.util.concurrent.Executors; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @Slf4j @@ -61,65 +59,65 @@ void cleanUp() { @Test void opprette_og_hente_egenaktivitet() { - val aktivitet = gitt_at_det_finnes_en_egen_aktivitet(); + final var aktivitet = gitt_at_det_finnes_en_egen_aktivitet(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_stillingaktivitet() { - val aktivitet = gitt_at_det_finnes_en_stillings_aktivitet(); + final var aktivitet = gitt_at_det_finnes_en_stillings_aktivitet(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_sokeavtaleaktivitet() { - val aktivitet = gitt_at_det_finnes_en_sokeavtale(); + final var aktivitet = gitt_at_det_finnes_en_sokeavtale(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_ijobbaktivitet() { - val aktivitet = gitt_at_det_finnes_en_ijobb(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktivitet = gitt_at_det_finnes_en_ijobb(); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_behandlingaktivitet() { - val aktivitet = gitt_at_det_finnes_en_behandling(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktivitet = gitt_at_det_finnes_en_behandling(); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_mote() { - val aktivitet = gitt_at_det_finnes_et_mote(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktivitet = gitt_at_det_finnes_et_mote(); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void opprette_og_hente_samtalereferat() { - val aktivitet = gitt_at_det_finnes_et_samtalereferat(); - val aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); + final var aktivitet = gitt_at_det_finnes_et_samtalereferat(); + final var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test @@ -128,23 +126,23 @@ void opprette_og_hente_stillingFraNAV() { var aktiviteter = aktivitetDAO.hentAktiviteterForAktorId(AKTOR_ID); assertThat(aktiviteter).hasSize(1); - assertThat(aktivitet).isEqualTo(aktiviteter.get(0)); + assertThat(aktivitet).isEqualTo(aktiviteter.getFirst()); } @Test void hent_aktivitet() { - val aktivitet = gitt_at_det_finnes_en_stillings_aktivitet(); + final var aktivitet = gitt_at_det_finnes_en_stillings_aktivitet(); - val hentetAktivitet = aktivitetDAO.hentAktivitet(aktivitet.getId()); + final var hentetAktivitet = aktivitetDAO.hentAktivitet(aktivitet.getId()); assertThat(aktivitet).isEqualTo(hentetAktivitet); } @Test void transaksjonsTypene_er_rett_satt_opp() { Arrays.asList(AktivitetTransaksjonsType.values()).forEach(t -> { - val aktivitetData = AktivitetDataTestBuilder - .nyEgenaktivitet() - .withTransaksjonsType(t); + final var aktivitetData = AktivitetDataTestBuilder + .nyEgenaktivitet() + .withTransaksjonsType(t); try { addAktivitet(aktivitetData); } catch (Exception e) { @@ -156,16 +154,16 @@ void transaksjonsTypene_er_rett_satt_opp() { @Test void skal_legge_til_lest_av_bruker_forste_gang() { - val aktivitet = gitt_at_det_finnes_en_egen_aktivitet(); + final var aktivitet = gitt_at_det_finnes_en_egen_aktivitet(); aktivitetDAO.insertLestAvBrukerTidspunkt(aktivitet.getId()); - val hentetAktivitet = aktivitetDAO.hentAktivitet(aktivitet.getId()); + final var hentetAktivitet = aktivitetDAO.hentAktivitet(aktivitet.getId()); assertThat(hentetAktivitet.getLestAvBrukerForsteGang()).isNotNull(); } @Test void skal_hente_alle_aktivitets_versjoner() { - val aktivitet = gitt_at_det_finnes_en_aktivitet_med_flere_versjoner(3); + final var aktivitet = gitt_at_det_finnes_en_aktivitet_med_flere_versjoner(3); List aktivitetData = aktivitetDAO.hentAktivitetVersjoner(aktivitet.getId()); assertThat(aktivitetData).hasSize(3); } @@ -254,19 +252,19 @@ void referat_skal_ikke_kasseres_dersom_tomt() { } private AktivitetData gitt_at_det_finnes_en_stillings_aktivitet() { - val aktivitet = AktivitetDataTestBuilder.nyttStillingssok(); + final var aktivitet = AktivitetDataTestBuilder.nyttStillingssok(); return addAktivitet(aktivitet); } private AktivitetData gitt_at_det_finnes_en_egen_aktivitet() { - val aktivitet = AktivitetDataTestBuilder.nyEgenaktivitet(); + final var aktivitet = AktivitetDataTestBuilder.nyEgenaktivitet(); return addAktivitet(aktivitet); } private AktivitetData gitt_at_det_finnes_en_sokeavtale() { - val aktivitet = AktivitetDataTestBuilder.nySokeAvtaleAktivitet(); + final var aktivitet = AktivitetDataTestBuilder.nySokeAvtaleAktivitet(); return addAktivitet(aktivitet); } @@ -321,7 +319,7 @@ private AktivitetData gitt_at_det_finnes_en_aktivitet_med_flere_versjoner(int an } private AktivitetData addAktivitet(AktivitetData aktivitet) { - val aktivitetUtenId = aktivitet.toBuilder() + final var aktivitetUtenId = aktivitet.toBuilder() .aktorId(AKTOR_ID) .build(); diff --git a/src/test/java/no/nav/veilarbaktivitet/internapi/InternAktivitetMapperTestContainer.java b/src/test/java/no/nav/veilarbaktivitet/internapi/InternAktivitetMapperTestContainer.java index 51474ce24..042db7936 100644 --- a/src/test/java/no/nav/veilarbaktivitet/internapi/InternAktivitetMapperTestContainer.java +++ b/src/test/java/no/nav/veilarbaktivitet/internapi/InternAktivitetMapperTestContainer.java @@ -7,6 +7,7 @@ import no.nav.veilarbaktivitet.stilling_fra_nav.Soknadsstatus; import no.nav.veilarbaktivitet.testutils.AktivitetDataTestBuilder; import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -15,7 +16,8 @@ import static no.nav.veilarbaktivitet.internapi.InternAktivitetMapperKt.mapTilAktivitet; class InternAktivitetMapperTestContainer { - static class StillingFraNavMapperTest { + @Nested + class StillingFraNavMapperTest { static Stream soknadsstatuser() { return Stream.of(Soknadsstatus.values()); } @@ -30,7 +32,8 @@ void stillingFraNavSoknadsstatuser(Soknadsstatus soknadsstatus) { } } - static class JobbsoekingMapperTest { + @Nested + class JobbsoekingMapperTest { static Stream stillingsoekEtiketter() { return Stream.of(StillingsoekEtikettData.values()); } diff --git a/src/test/java/no/nav/veilarbaktivitet/mock/MetricsClientMock.java b/src/test/java/no/nav/veilarbaktivitet/mock/MetricsClientMock.java index 89167a892..183d15f63 100644 --- a/src/test/java/no/nav/veilarbaktivitet/mock/MetricsClientMock.java +++ b/src/test/java/no/nav/veilarbaktivitet/mock/MetricsClientMock.java @@ -14,7 +14,7 @@ public void report(Event event) {} @Override public void report(String name, Map fields, Map tags, long l) { - log.info(String.format("sender event %s Fields: %s Tags: %s", name, fields.toString(), tags.toString())); + log.info("sender event %s Fields: %s Tags: %s".formatted(name, fields.toString(), tags.toString())); } } diff --git a/src/test/java/no/nav/veilarbaktivitet/service/AktivitetAppServiceTest.java b/src/test/java/no/nav/veilarbaktivitet/service/AktivitetAppServiceTest.java index 3d1999de5..ffc792bde 100644 --- a/src/test/java/no/nav/veilarbaktivitet/service/AktivitetAppServiceTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/service/AktivitetAppServiceTest.java @@ -1,6 +1,5 @@ package no.nav.veilarbaktivitet.service; -import lombok.val; import no.nav.poao.dab.spring_auth.IAuthService; import no.nav.veilarbaktivitet.aktivitet.AktivitetAppService; import no.nav.veilarbaktivitet.aktivitet.AktivitetService; @@ -209,14 +208,14 @@ void oppdaterAktivitet_aktivitetsTypeSomBrukerIkkeKanLage_kasterException() { @Test void skal_ikke_kunne_endre_aktivitet_nar_den_er_avbrutt_eller_fullfort() { - val aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID).aktorId(Person.aktorId("haha")).status(AktivitetStatus.AVBRUTT).build(); + final var aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID).aktorId(Person.aktorId("haha")).status(AktivitetStatus.AVBRUTT).build(); when(aktivitetService.hentAktivitetMedForhaandsorientering(AKTIVITET_ID)).thenReturn(aktivitet); testAlleOppdateringsmetoderUnntattEtikett(aktivitet); } @Test void skal_kunne_endre_etikett_nar_aktivitet_avbrutt_eller_fullfort() { - val aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID) + final var aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID) .aktorId(Person.aktorId("haha")).status(AktivitetStatus.AVBRUTT).build(); when(aktivitetService.hentAktivitetMedForhaandsorientering(AKTIVITET_ID)).thenReturn(aktivitet); AktivitetData aktivitetData = appService.oppdaterEtikett(aktivitet); @@ -243,7 +242,7 @@ void opprett_skal_returnere_kontorsperreEnhet_naar_ikke_systembruker() { @Test void skal_ikke_kunne_endre_aktivitet_nar_den_er_historisk() { - val aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID) + final var aktivitet = nyttStillingssok().toBuilder().id(AKTIVITET_ID) .aktorId(Person.aktorId("haha")).historiskDato(new Date()).build(); when(aktivitetService.hentAktivitetMedForhaandsorientering(AKTIVITET_ID)).thenReturn(aktivitet); testAlleOppdateringsmetoder(aktivitet); @@ -251,8 +250,8 @@ void skal_ikke_kunne_endre_aktivitet_nar_den_er_historisk() { @Test void skal_ikke_kaste_feil_selv_om_en_aktivitet_har_kontorsperre() { - val aktorId = Person.aktorId("haha"); - val aktivitetMedKontorsperre = nyttStillingssok().toBuilder().id(AKTIVITET_ID) + final var aktorId = Person.aktorId("haha"); + final var aktivitetMedKontorsperre = nyttStillingssok().toBuilder().id(AKTIVITET_ID) .aktorId(Person.aktorId("haha")).kontorsperreEnhetId("EnhetId").build(); when(personService.getAktorIdForPersonBruker(any(Person.class))).thenReturn(Optional.of(aktorId)); when(aktivitetService.hentAktiviteterForAktorId(aktorId)).thenReturn(List.of(aktivitetMedKontorsperre)); diff --git a/src/test/java/no/nav/veilarbaktivitet/service/AktivitetServiceTest.java b/src/test/java/no/nav/veilarbaktivitet/service/AktivitetServiceTest.java index b724bc362..89f5c2bd6 100644 --- a/src/test/java/no/nav/veilarbaktivitet/service/AktivitetServiceTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/service/AktivitetServiceTest.java @@ -1,7 +1,6 @@ package no.nav.veilarbaktivitet.service; import lombok.SneakyThrows; -import lombok.val; import no.nav.veilarbaktivitet.aktivitet.AktivitetDAO; import no.nav.veilarbaktivitet.aktivitet.AktivitetService; import no.nav.veilarbaktivitet.aktivitet.MetricService; @@ -66,7 +65,7 @@ public void setup() { @Test void viktigeFelterSkalPropageresTilDaoVedOpprettAktivitet() { - val aktivitet = lagEnNyAktivitet(); + final var aktivitet = lagEnNyAktivitet(); when(aktivitetDAO.opprettNyAktivitet(any(AktivitetData.class))).thenReturn(aktivitet); aktivitetService.opprettAktivitet( aktivitet); @@ -90,7 +89,7 @@ void viktigeFelterSkalPropageresTilDaoVedOpprettAktivitet() { @Test void opprettAktivitetMedKvp() { - val aktivitet = lagEnNyAktivitet().withKontorsperreEnhetId(KJENT_KONTORSPERRE_ENHET_ID); + final var aktivitet = lagEnNyAktivitet().withKontorsperreEnhetId(KJENT_KONTORSPERRE_ENHET_ID); KvpV2DTO kvp = new KvpV2DTO().setEnhet(KONTORSPERRE_ENHET_ID); when(aktivitetDAO.opprettNyAktivitet(any(AktivitetData.class))).thenReturn(aktivitet); @@ -103,11 +102,11 @@ void opprettAktivitetMedKvp() { @Test void oppdaterStatus() { - val aktivitet = lagEnNyAktivitet(); + final var aktivitet = lagEnNyAktivitet(); - val avsluttKommentar = "Alexander er best"; - val nyStatus = AktivitetStatus.GJENNOMFORES; - val oppdatertAktivitet = aktivitet + final var avsluttKommentar = "Alexander er best"; + final var nyStatus = AktivitetStatus.GJENNOMFORES; + final var oppdatertAktivitet = aktivitet .toBuilder() .endretAv("bruker") .endretAvType(Innsender.BRUKER) @@ -132,11 +131,11 @@ void oppdaterStatus() { @SneakyThrows @Test void oppdaterStatusMedKvpTilgang() { - val aktivitet = lagEnNyAktivitet(); - val kvpAktivitet = aktivitet.withKontorsperreEnhetId(KONTORSPERRE_ENHET_ID); + final var aktivitet = lagEnNyAktivitet(); + final var kvpAktivitet = aktivitet.withKontorsperreEnhetId(KONTORSPERRE_ENHET_ID); - val nyStatus = AktivitetStatus.GJENNOMFORES; - val oppdatertAktivitet = kvpAktivitet + final var nyStatus = AktivitetStatus.GJENNOMFORES; + final var oppdatertAktivitet = kvpAktivitet .toBuilder() .endretDato(new Date()) .status(nyStatus) @@ -150,9 +149,9 @@ void oppdaterStatusMedKvpTilgang() { @Test void oppdaterEtikett() { - val aktivitet = lagEnNyAktivitet(); + final var aktivitet = lagEnNyAktivitet(); - val oppdatertAktivitet = aktivitet + final var oppdatertAktivitet = aktivitet .toBuilder() .beskrivelse("Alexander er fremdeles best") .endretDato(new Date()) @@ -175,11 +174,11 @@ void oppdaterEtikett() { @Test void oppdaterReferat() { - val aktivitet = AktivitetDataTestBuilder.nyMoteAktivitet(); + final var aktivitet = AktivitetDataTestBuilder.nyMoteAktivitet(); String REFERAT = "Referat"; - val oppdatertAktivitet = aktivitet + final var oppdatertAktivitet = aktivitet .toBuilder() .endretDato(new Date()) .beskrivelse("Alexander er fremdeles best") @@ -203,10 +202,10 @@ void oppdaterReferat() { @Test void oppdaterAktivitetFrist() { - val aktivitet = lagEnNyAktivitet(); + final var aktivitet = lagEnNyAktivitet(); - val nyFrist = new Date(); - val oppdatertAktivitet = aktivitet.toBuilder().endretDato(new Date()).tilDato(nyFrist).build(); + final var nyFrist = new Date(); + final var oppdatertAktivitet = aktivitet.toBuilder().endretDato(new Date()).tilDato(nyFrist).build(); aktivitetService.oppdaterAktivitetFrist(aktivitet, oppdatertAktivitet); captureOppdaterAktivitetArgument(); @@ -244,8 +243,8 @@ void oppdaterMoteTidOgSted() { @Test void oppdaterAktivitet() { - val aktivitet = lagEnNyAktivitet(); - val oppdatertAktivitet = aktivitet + final var aktivitet = lagEnNyAktivitet(); + final var oppdatertAktivitet = aktivitet .toBuilder() .beskrivelse("Alexander er den beste") .lenke("www.alexander-er-best.no") @@ -262,7 +261,7 @@ void oppdaterAktivitet() { @Disabled("MÃ¥ fikses") @Test void oppdaterAktivitet_skal_gi_versjonsKonflikt_hvis_to_oppdaterer_aktiviteten_samtidig() { - val aktivitet = lagEnNyAktivitet(); + final var aktivitet = lagEnNyAktivitet(); doThrow(new DuplicateKeyException("versjon fins")).when(aktivitetDAO).oppdaterAktivitet(any()); try { diff --git a/src/test/java/no/nav/veilarbaktivitet/service/KafkaConsumerOnpremServiceTest.java b/src/test/java/no/nav/veilarbaktivitet/service/KafkaConsumerOnpremServiceTest.java index 8a345f851..a8f75a48d 100644 --- a/src/test/java/no/nav/veilarbaktivitet/service/KafkaConsumerOnpremServiceTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/service/KafkaConsumerOnpremServiceTest.java @@ -1,7 +1,5 @@ package no.nav.veilarbaktivitet.service; -import static org.mockito.ArgumentMatchers.eq; - //TOODO fiks denne /* diff --git a/src/test/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavControllerITest.java b/src/test/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavControllerITest.java index a7035b1bc..f151cb870 100644 --- a/src/test/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavControllerITest.java +++ b/src/test/java/no/nav/veilarbaktivitet/stilling_fra_nav/StillingFraNavControllerITest.java @@ -2,7 +2,6 @@ import com.github.tomakehurst.wiremock.client.WireMock; import lombok.SneakyThrows; -import lombok.val; import no.nav.veilarbaktivitet.SpringBootTestBase; import no.nav.veilarbaktivitet.aktivitet.domain.AktivitetStatus; import no.nav.veilarbaktivitet.aktivitet.domain.AktivitetTransaksjonsType; @@ -81,7 +80,7 @@ void happy_case_svar_ja() { AktivitetDTO aktivitetDTO = aktivitetTestService.opprettStillingFraNav(mockBruker); //Trigger scheduld jobb manuelt da schedule er disabled i test. - val brukernotifikajonOppgave = brukernotifikasjonAsserts.assertOppgaveSendt(mockBruker.getFnrAsFnr()); + final var brukernotifikajonOppgave = brukernotifikasjonAsserts.assertOppgaveSendt(mockBruker.getFnrAsFnr()); // Kafka consumer for svarmelding til rekrutteringsbistand. final Consumer consumer = kafkaTestService.createStringAvroConsumer(utTopic); diff --git a/src/test/java/no/nav/veilarbaktivitet/util/AktivitetTestService.java b/src/test/java/no/nav/veilarbaktivitet/util/AktivitetTestService.java index 58f60043e..399033593 100644 --- a/src/test/java/no/nav/veilarbaktivitet/util/AktivitetTestService.java +++ b/src/test/java/no/nav/veilarbaktivitet/util/AktivitetTestService.java @@ -546,6 +546,6 @@ public AktivitetDTO hentAktivitetByFunksjonellId(MockBruker mockBruker, MockVeil return hentAktiviteterForFnr(mockBruker, veileder) .getAktiviteter().stream() .filter((a) -> Objects.equals(a.getFunksjonellId(), funksjonellId)) - .findFirst().orElseThrow(() -> new IllegalStateException(String.format("Fant ikke aktivitet med funksjonellId %s", funksjonellId))); + .findFirst().orElseThrow(() -> new IllegalStateException("Fant ikke aktivitet med funksjonellId %s".formatted(funksjonellId))); } } diff --git a/src/test/java/no/nav/veilarbaktivitet/util/FrontendloggerTest.java b/src/test/java/no/nav/veilarbaktivitet/util/FrontendloggerTest.java index f40d87bd8..22522070d 100644 --- a/src/test/java/no/nav/veilarbaktivitet/util/FrontendloggerTest.java +++ b/src/test/java/no/nav/veilarbaktivitet/util/FrontendloggerTest.java @@ -6,7 +6,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; -import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.jupiter.MockitoExtension; import java.util.HashMap; diff --git a/src/test/java/no/nav/veilarbaktivitet/veilarbportefolje/dto/AktivitetTypeDTOTestContainer.java b/src/test/java/no/nav/veilarbaktivitet/veilarbportefolje/dto/AktivitetTypeDTOTestContainer.java index 3e00fe00a..c242d84ba 100644 --- a/src/test/java/no/nav/veilarbaktivitet/veilarbportefolje/dto/AktivitetTypeDTOTestContainer.java +++ b/src/test/java/no/nav/veilarbaktivitet/veilarbportefolje/dto/AktivitetTypeDTOTestContainer.java @@ -1,6 +1,7 @@ package no.nav.veilarbaktivitet.veilarbportefolje.dto; import no.nav.veilarbaktivitet.aktivitetskort.dto.AktivitetskortType; +import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -12,7 +13,8 @@ class AktivitetTypeDTOTestContainer { - static class DomainAktivitetsTyperTest { + @Nested + class DomainAktivitetsTyperTest { static Stream domainAktivitetetTyper() { return Stream.of(no.nav.veilarbaktivitet.aktivitet.dto.AktivitetTypeDTO.values()); } @@ -25,7 +27,8 @@ void mapAlleAktivitetsTyper(no.nav.veilarbaktivitet.aktivitet.dto.AktivitetTypeD } } - static class EksternAktivitetstypeTest { + @Nested + class EksternAktivitetstypeTest { @Test void mapEksterneAktiviteterTilTiltak() { AktivitetTypeDTO aktivitetTypeDTO = AktivitetTypeDTO.fromDomainAktivitetType(no.nav.veilarbaktivitet.aktivitet.dto.AktivitetTypeDTO.EKSTERNAKTIVITET); @@ -33,10 +36,12 @@ void mapEksterneAktiviteterTilTiltak() { } } - static class AktivitetskortTilArenaTiltakskoderTest { + @Nested + class AktivitetskortTilArenaTiltakskoderTest { static Stream aktivitetskortTyper() { return Stream.of(AktivitetskortType.values()); } + @ParameterizedTest @MethodSource("aktivitetskortTyper") void mapEksterneAktiviteterTilTiltak(AktivitetskortType aktivitetskortType) { diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index 62c45ca35..0bb988bb4 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -1,5 +1,6 @@ spring.profiles.active=test - +## <- Ikke enda - AuthContext fungerer ikke alltid - har ikke funnet ut hvorfor - THreadLocal skal funke likt med viruelle tråder +#spring.threads.virtual.enabled=true server.servlet.context-path=/veilarbaktivitet server.error.include-message=always @@ -28,7 +29,7 @@ spring.kafka.embedded.kraft=true app.kafka.producer-client-id=veilarbaktivitet-producer app.kafka.consumer-group-id=veilarbaktivitet-consumer spring.kafka.properties.schema.registry.url=mock://something -app.kafka.schema-regestry-url=mock://something +kafka.schema-regeistry-url=mock://something spring.kafka.properties.specific.avro.reader=true app.kafka.enabled=true ############################################### @@ -91,7 +92,7 @@ veilarbdialog.url=http://localhost:${wiremock.server.port} pdl.url=http://localhost:${wiremock.server.port}/pdl pdl.scope=api://dev-fss.pdl.pdl-api/.default -spring.cloud.gateway.mvc.enabled=false +#spring.cloud.gateway.mvc.enabled=false gcp.projectId=test