ks-no / fiks-arkiv

4 stars 0 forks source link

Datatypen xs:integer i f.eks. metadatakatalog #88

Closed jarleborsheim closed 2 years ago

jarleborsheim commented 2 years ago

Vi fikk en issue i protokollen Fiks-Matrikkelføring da det er kun brukt xs:integer i xsd'ene for den protokollen. Utfordringen er at xsd.exe og vår generator vil mappe det til datatypen string i C# koden hvis man ikke gjør en aktiv konfigurering for å si at den skal være av typen int.

I de fleste av xsd'ene våre for Fiks-Arkiv er det brukt xs:int som ikke har dette problemet. Men i metadatakatalog.xsd er det brukt kun xs:integer.

Er dette et problem? Bør vi legge til mapping i genereringen vår av C# koden slik at xs:integer for det som f.eks. kommer fra metadatakatalog blir til C# int?

Her er tråden fra Slack angående problemet for Fiks-Matrikkelføring: https://ksfiks.slack.com/archives/CG1T71AJ1/p1656326793712339

sturtzel commented 2 years ago

Så lenge vi er sikker på at tallet er innenfor 32 bit. Det blir uansett feil å mappe til string. Integer kan være både int og long. Er vi usikker er vel long best. Men jeg kommer ikke på noen i farta der 32 bit er for lite.

jarleborsheim commented 2 years ago

Tenker vi at vi fikser det i generatoren eller i xsd? I og med at vi nå har tatt "eierskap" over metadatakatalog og har en ny versjon av den så kunne vi kanskje vurdere å fikse det der.

sturtzel commented 2 years ago

Har ingen sterke meninger her, men uansett blir integer til string feil.

jarleborsheim commented 2 years ago

Vi endrer i generatoren

jarleborsheim commented 2 years ago

Dette var ikke like enkelt som som først antatt. Da jeg endret det i generatoren slik at den tolket xs:integer til C# int så fikk jeg trøbbel med serialisering og deserialisering slik koden var i validator, integrasjonstester osv. Jeg tok bort igjen dette og må ta en ny titt på det.

jarleborsheim commented 2 years ago

Denne skal være løst og vi stenger saken