diff --git a/integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/grunnlag/AbstractInfotrygdGrunnlag.java b/integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/grunnlag/AbstractInfotrygdGrunnlag.java index e00de6e2e..bf4646ffc 100644 --- a/integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/grunnlag/AbstractInfotrygdGrunnlag.java +++ b/integrasjon/infotrygd-grunnlag-klient/src/main/java/no/nav/vedtak/felles/integrasjon/infotrygd/grunnlag/AbstractInfotrygdGrunnlag.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Optional; import javax.ws.rs.core.UriBuilder; @@ -64,7 +65,7 @@ public List hentGrunnlagFailSoft(String fnr, LocalDate fom, LocalDate } private static String konverter(LocalDate dato) { - var brukDato = dato == null ? LocalDate.now() : dato; + var brukDato = Optional.ofNullable(dato).orElseGet(LocalDate::now); return brukDato.format(DateTimeFormatter.ISO_LOCAL_DATE); } diff --git "a/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/AbstractSp\303\270kelseKlient.java" "b/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/AbstractSp\303\270kelseKlient.java" index af6f4c75c..c3259bf71 100644 --- "a/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/AbstractSp\303\270kelseKlient.java" +++ "b/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/AbstractSp\303\270kelseKlient.java" @@ -1,8 +1,11 @@ package no.nav.vedtak.felles.integrasjon.spokelse; import java.time.Duration; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.Arrays; import java.util.List; +import java.util.Optional; import javax.ws.rs.core.UriBuilder; @@ -39,11 +42,20 @@ public abstract class AbstractSpøkelseKlient implements Spøkelse { @Override public List hentGrunnlag(String fnr) { + return hentGrunnlag(fnr, null); + } + + @Override + public List hentGrunnlag(String fnr, LocalDate fom) { + return hentGrunnlag(fnr, fom, Duration.ofSeconds(30)); + } + + @Override + public List hentGrunnlag(String fnr, LocalDate fom, Duration timeout) { try { - var path = UriBuilder.fromUri(restConfig.endpoint()) - .queryParam("fodselsnummer", fnr) - .build(); - var request = RestRequest.newGET(path, restConfig).timeout(Duration.ofSeconds(40)); + var pathBuilder = UriBuilder.fromUri(restConfig.endpoint()).queryParam("fodselsnummer", fnr); + Optional.ofNullable(fom).ifPresent(f -> pathBuilder.queryParam("fom", f.format(DateTimeFormatter.ISO_LOCAL_DATE))); + var request = RestRequest.newGET(pathBuilder.build(), restConfig).timeout(timeout); var grunnlag = restKlient.send(request, SykepengeVedtak[].class); return Arrays.asList(grunnlag); } catch (Exception e) { @@ -53,8 +65,13 @@ public List hentGrunnlag(String fnr) { @Override public List hentGrunnlagFailSoft(String fnr) { + return hentGrunnlagFailSoft(fnr, null); + } + + @Override + public List hentGrunnlagFailSoft(String fnr, LocalDate fom) { try { - return hentGrunnlag(fnr); + return hentGrunnlag(fnr, fom); } catch (Exception e) { LOG.info("SPokelse felles: feil ved oppslag mot {}, returnerer ingen grunnlag", restConfig.endpoint(), e); return List.of(); diff --git "a/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/Sp\303\270kelse.java" "b/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/Sp\303\270kelse.java" index 2b8c15b3c..b33500066 100644 --- "a/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/Sp\303\270kelse.java" +++ "b/integrasjon/spokelse-klient/src/main/java/no/nav/vedtak/felles/integrasjon/spokelse/Sp\303\270kelse.java" @@ -1,11 +1,20 @@ package no.nav.vedtak.felles.integrasjon.spokelse; +import java.time.Duration; +import java.time.LocalDate; import java.util.List; public interface Spøkelse { List hentGrunnlag(String fnr); + List hentGrunnlag(String fnr, LocalDate fom); + + List hentGrunnlag(String fnr, LocalDate fom, Duration timeout); + // Logger evt feil som info og gir tom list List hentGrunnlagFailSoft(String fnr); + + // Logger evt feil som info og gir tom list + List hentGrunnlagFailSoft(String fnr, LocalDate fom); }