Uh oh!
There was an error while loading. Please reload this page.
Add java.time objects to TimeParameters - #300
Conversation
AteZenmo
commented
Jun 18, 2026
Ik zou wel iets meer toelichting kunnen gebruiken op wat deze functies doen. |
AteZenmo
commented
Jun 18, 2026
Want stepduration kan wat mij betreft wel een eenheid gebruiken misschien? |
For interoperability with the time series library.
Erikvv
commented
Jun 18, 2026
Ik heb commentaar toegevoegd aan de code. Is het zo duiderlijker? |
Erikvv
commented
Jun 18, 2026
De eenheid is encapsulated in TemporalAmount. In de praktijk gebruiken we Duration. Die gebruikt seconden + nanoseconden. |
Ik zou een test toe willen voegen voor de toegevoegde code. Hoe zien jullie dit graag? Ik had in Interface-Loader een ALP toegevoegd die een test draait. Maar die is sindsdien door niemand gebruikt. https://github.com/Zenmo/zero_Interface-Loader/tree/main/tests Zal ik voor de Engine hetzelfde doen? |
Erikvv
commented
Jun 18, 2026
Ik kwam tot het inzicht dat ik niet het start jaar wil weten maar de startdatum en -tijd. Dus ik heb dat toegevoegd ipv java.time.Year. |
| @JsonProperty("timeStep_h") double timeStep_h, | ||
| @JsonProperty("stepDuration") Duration stepDuration, | ||
| @JsonProperty("startYear") int startYear, | ||
| @JsonProperty("startYearObject") Year startYearObject, |
There was a problem hiding this comment.
Ik zie dat ik de 2e constructor niet goed in sync houdt. Ik zou ook graag een test willen schrijven voor serialisatie + deserialisatie van deze class gezien dat blijkbaar tricky is.
Testen lijkt me een goed plan, in het algemeen voor LUX. Echter heb ik er niet zoveel kennis van, en kan ik niet goed overzien hoe en wat dat allemaal werkt. |
AteZenmo
commented
Jun 18, 2026
Ja, ik snap het doel nu. (Al bedoelde ik met iets meer toelichting niet perse comments in de code zelf haha, maar dit is ook goed!). |
Blijft voor mij alleen een beetje appart dat 'getStart', 'getEnd' en getStepDuration niet echt een eenheid hebben. Omdat het dus (als ik het goed begrijp) eigenlijk simpelweg een punt/moment in tijd voorsteld (?). Waarna je heel simpel dat 'moment' / duratie kan omzetten in de eenheid die je wil (?). Maar dat is prima natuurlijk, ik ben het gewoon niet gewend. |
Erikvv
commented
Jun 18, 2026
Een nog beter idee lijkt me om de test module buiten AnyLogic te trekken zoals lux-esdl. Laten we het idd bespreken. |
Erikvv
commented
Jun 18, 2026
Het idee is dat het minder foutgevoelig is omdat je als je het consistent toepast je geen zorgen hoeft te maken over conversie tussen eenheden. Bv: LengthwireLength = Length.ofKilometer(1);
LengthwireWidth = Length.ofCentimeter(1);
LengthwireHeight = Length.ofCentimeter(1);
VolumewireVolume = wireLength.times(wireWidth).times(wireHeight);
DensitycopperDensity = Density.ofKgPerM3(8960.0);
WeightwireWeight = copperDensity.times(wireVolume);
System.out.println(
String.format(
"The wire weighs %s tonnes and has a volume of %s liters"wireWeight.toTonnes(),
wireVolume.toLiters(),
)
); |
AteZenmo
commented
Jun 18, 2026
nee oke, al weet ik niet of ik wel fan ben van het hierboven genoemd voorbeeld haha, maar voor tijd snap ik het wel. |
AteZenmo
commented
Jun 23, 2026
Erikvv
commented
Jun 23, 2026
Heeft geen haast, kan best wachten tot de tests zijn geschreven |
For interoperability with the time series library.