Repository navigation
Update amplify production - #401
Merged
SerhatG merged 97 commits intoSep 30, 2026
Merged
Conversation
…lation id via message bus (aerius#302) Than the calculation id can be used to retrieve the results to put in the GML. But we don't want to serializer results in this class as those are not needed, but only add to the message load.
…multiple years. (aerius#303) This code introduces a new MetSurfaceCharacteristics object that replaces the single values in ADMSOptions. For backward compatibility the individual methods are kept in ADMSOptions, and will be removed when not used any more by upstream project. Also added MetSiteLatitude and WindInSectors as these are also relevant ADMS options. Made the 'old' MsMetxx' methods deprecated and JsonIgnore to avoid serialisation problems.
- Added ProjectCategory enum - Added ProjectCategory to NCACalculationOptions - Added ProjectCategory to OptionsMetadataUtil and -test
* Cleanup before adding new property Removed some unused properties, and changed project category to be code-based (which is actually for future changes where it's actually a code, but might as well get it in there now). * Renamed some non-adms metadata fields These fields are not used in the ADMS model, and do not have any effect on input there, so not much point in having it prefixed with adms_. Could use nca_, but as they're generic codes anyway, we might as well use generic names in the metadata. Yes, this does 'break' old imports, but now seems a good moment to do this as we're moving to a new beta release. * Adding development pressure source IDs to NCACalculationOptions These also survive a roundtrip in GML, as the new round trip case confirms.
Reasoning for putting it in CalculationSetOptions and the generic metadata section in IMAER is that its least changes. Conceptually it makes less sense as it's not a value that a user should generally alter/supply. But that's similar to OPS version that's also present in options/metadata I guess?
Not much point in doing interpolation if the result will just be multiplied with 0 anyway.
Changed some default methods to non-defaults (should be implemented by now), and made some methods default and indicated that they are deprecated through annotation and comment.
* Updating dependencies in pom.xmls * Java changes for new dependencies Mostly javax -> jakarta, but also net.opengis.gml.v_3_2_1 -> net.opengis.gml_v_3_2 (which is newer, don't ask) * Switched to ogc-schemas jar The old jar that was used, was also used for jaxb classes. However, that project has underwent significant changes (being forked to another repo for one), and schemas are now available in a separate jar. That one contains a lot of OGC xsd stuff, so using some more specific filtering. Also the xsds no longer have relevant locations, so had to put some more stuff in gml-catalog, and including some w3.org xsds in our repository. Was able to get rid of the gmlsProfile directory though, which is a plus (and this library is not 12 years old anymore). * Moved some version properties to the parent pom A bit easier to see at a glance what versions are used if they're centralized. Did skip a few in imaer-server-xsd-standalone, as those shouldn't be used outside of it anyway. * Not updating JTS due to change in results Apparantly with the new version something changed so length of geometries that is determined in JTS changes slightly. At a glance this is rounding, but better to make a decision on this if it's OK or not. * Specify java version for shared modules With GWT 2.12 it should be OK to use java 17 stuff. If we have to go back to 2.10 for downstream reasons, we can put it back to 11. Main reason is to avoid using constructs that are not available in GWT.
The way we use streamflyer we don't actually use commons-io in that library, but we do use it ourselves. Would rather get rid of streamflyer at some point, but that's more complicated.
Apparantly, some schemafactory implementations are a bit finnicky about this.
* Updating version to fit new IMAER version * Added archiveType to the archive metadata section in IMAER This is the reason for 6.0.1 * Java part of archiveType property When input is null or unknown, it will default to the IN_COMBINATION_PROCESS_CONTRIBUTION value, mostly to support old GMLs. Adjusted the extended archive metadata roundtrip test case to resemble a DEVELOPMENT_PRESSURE_SEARCH variant, where no receptors-with-results are expected.
In this repository all usages now replace with CIMLK.
Mostly farm lodging and renamed theme related.
In new OPS version spread for points should be passed by the user. This means if no spread was given it should be getting half the emission height. In GML the spread can be present, but for point and lines it was not specified what the value meant as it was not used. Therefore we should treat the spread value in older GML's as a random value, and always derive the spread from the emission height. This change adds support for either reading the spread or deriving it from emission height (legacy). For now all versions of GML will use the legacy variant, as all versions are also available in production. Updated spread in test gml files with line sources to be half of height, as that would be the value that will be written. As of this moment there is not support for writing the spread to the GML for point/line sources, as it will not be possible to determine if it was legacy or set correctly since the GML version is not changed, and there are already GMLs generated in production with the legacy situation. To be able to correctly set the spread some new version of IMAER must be made.
…erius#319) * Support string key conversion parsing/serialization * Added test and made EVK more robust * Fix a test * Refactor EmissionValueKey parsing logic to improve robustness. Adjusted the order of validation checks for input format and added handling for empty year and substance fields. This change ensures clearer error messages and better input validation. * Use jackson annotations to serialize key * Use JsonCreator * Also ignore the json name, which is just an alias for description * More fixes * Revert comment formatting * Revert formatting * Final formatting fix * Review comments * Fix test messages * Revert comment format * Sigh
As it was, the calculation method was in charge of determining if the maximum range was relevant. UK however allows users to input the maximum range for FORMAL_ASSESSMENT, so this no longer holds. Should be safe to do it like this: the option should be explicitly set when calculating in calculator, and that should override any value that was erronously read. The default value (false) also makes sense for NL, where the only options at the moment are custom points and formal assessment anyway.
* Ignore a bunch of nonsense that needn't be in json * Remove final for GWT
As far as I could tell, this is only used in frontend for display purposes.
…s#379) With new road emissions for NON_URBAN_ROAD speed will be relevant. Therefore speed will be read. Because with new data speed determines the emission and not only the road type code a default speed will be set if the speed is null or 0. The speed set is representative for the road type. For NON_URBAN_ROAD_NATIONAL it will be 80, for NON_URBAN_ROAD_GENERAL it will be 60. Calculator 2025 doesn't use these speed values yet, but having set them has no impact, but it also isn't effecting anything. Simplified GML2SRMRoad v4 implementation by merging specific variables with convertRoadType because specificVariables was only used for road type, and since both methods have a SRM specific implementation the SRM1 case can be moved to the convertRoadTypeCode.
* AER-3162 Group XSD validation errors by source location Validation events from JAXB unmarshalling are now grouped by their (line, column) locator so a single bad value no longer produces multiple separate errors. Within each group only the highest-severity events are kept and their messages combined. Each combined message is prefixed with [line N, col M] so users can locate the offending value in larger GML files. * AER-3162 Preserve all events in grouped XSD validation errors Drop the within-group severity filter so all events at a location are joined into the combined message. Lower-severity events (e.g. JAXB's bare NumberFormatException 'None') were technically redundant but the no-loss guarantee is more valuable than the cosmetic gain from dropping them. * AER-3162 Make discarding of redundant lower-severity events explicit Restore the within-group severity filter from the first iteration but extract it into a named, javadoc'd helper (discardRedundantLowerSeverityEvents) that states it is a deliberate lossy step and documents exactly which events get dropped: JAXB's bare ERROR-severity wrapping of a primitive parse failure (e.g. just "None") at the same location as the FATAL_ERROR cvc-* events that already convey the same information with full context. * AER-3162 Trim verbose comments * AER-3162 Use String.formatted() in LocationKey.prefix * AER-3162 Replace LocationKey record with plain static helpers * AER-3162 Avoid kept.get(0) by memoizing prefix per location key
…k if can be combined check on converted maximumspeed (aerius#382) Because when creating a StandardVehicles source it changes the maximum speed for the source for non urban roads. Than the other vehicle sources should be compared to that speed to check on matching, otherwise it will try to match a non converted with converted source which will result in the vehicle source to be separated. Updated round trip sources to include 2 different vehicle type sources. Note that the round trip test did catch this case because when exporting it will merge again. Therefore the export was correct, and wasn't detecting the issue. To check this case a unit test was added to test the merging functionality.
…dule (aerius#383) This because classes in shared are intended for usage also in UI and to keep code separated. Kept them in the same package to keep it backward compatible.
…erius#386) As speed has become relevant as there will be different emission factors for speed, a default speed needs to be set for older GML's this was earlier set to 80, but should be 60. Also added a warning code in case this default value is set.
…adding power support (U-method) to off road mobile sources. (aerius#389) This change doesn't add support in IMAER. Meaning if power value is present it's not yet persisted in the GML or read from a GML.
Gets rid of the custom checkout that we need to keep updated and optionally multiple references to the version of (aerius-)github-actions.
* Add power to IMAER model Using a newer version of enterprise architect (17.1, 32-bit version as 64-bit doesn't support EAP files but wants to migrate to a different file format), which seems to have some effect on the xmi file. Rather unfortunate... * Generated IMAER.xsd First time generating it on my new laptop, and it was an experience. Updated instructions with some findings (use 32-bit java, and specific versions of both shapechange and enterprise architect). Trying to update to 64-bit stuff, which will likely include switching file format from EAP to something newer, is something for future work. * Change project version in pom.xmls With this change we're moving to 6.0.2 of IMAER, so better update the version of the project to match. * Implement reading/writing power attribute for mobile sources, including a roundtrip file that tests this behaviour.
Also done some cleanup associated with this.
- Only set power for U method - Only set liter fuel/year and adblue/year for AUB method - Create unit tests for this
- Fix import by not requiring adblue for power based method - Clean up the OffRoadValidator a bit - Unit test updates
Updated to scientific notation that comes overeen with stageclass texts. Examples (taken from the updated tests): - `<20` -> `< 20` - `>10 - <=20` -> `(10-20]` - `>=10` -> `≥ 10`
- Updated copyright headers - Add contributors (both NL and UK) to main pom.xml More deletions (-2) than insertions, because the following files had both copyrights (so 2 lines -> 1): - BuildingLimits.java - SourceCharacteristics.java Still (+4) more insertions than deletions, because of the changes in the main pom.xml (+6)
Due to changes in library dependencies some gml seems to be genereated with different spacing. To handle this the unit test removes all spaces between elements from gml files before comparison.
Co-authored-by: Stikstofje <1662526+stikstofje@users.noreply.github.com>
Member
|
It seems to contain an extra commit |
BertScholten
force-pushed
the
amplify-production
branch
from
September 30, 2026 12:23
e83caf4 to
bb20654
Compare
Member
Author
Ah yeah, so it did. Should be OK now. |
SerhatG
approved these changes
Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Should make the branch same as the 6.0.2-1 release commit.
Note: merge, don't squash.