Closed okkero closed 3 years ago
@okkero Tror du vi slipper unna med å bare bytte parameter typen til referansetypen Boolean?
Det kan jo potensielt brekke systemene til brukere, men det er jo ikke all verden å endre feks. true
til Boolean.TRUE
Den løsningen skal være 100% bakoverkompatibel. Autoboxing tar seg av konverteringen fra true
/false
.
RoadObjectRequest::toMutable
kaster en NPE hvisallVersions
ikke har blitt satt (f.eks ved å kallewithAllVersions
på builderen).Problemet bryter ned til bruk av
Boolean
wrapper-typen i feltene, mens parameteret tilwithAllVersions
brukerboolean
-primitiven. Så hvis etRoadObjectRequest
-objekt har blitt bygget uten atallVersions
har blitt satt, ender man opp medallVersions
liknull
.toMutable
prøver så å kalleRoadObjectRequest.Builder::withAllVersions
medRoadObjectRequest
-objektetsallVersions
-verdi som umiddelbart konverteres tilboolean
, som ender opp med å kaste enNPE
fordinull
ikke er en gyldigboolean
-verdi.https://github.com/nvdb-vegdata/nvdb-api-client/blob/master/src/main/java/no/vegvesen/nvdbapi/client/clients/RoadObjectRequest.java#L532