Repository navigation
Conversation
# Conflicts: # amp/src/main/java/org/digijava/module/aim/helper/GlobalSettingsConstants.java # amp/src/main/resources/xmlpatches/4.0/AMP-31057-Add-Currecies-for-dashboard.xml # amp/src/main/resources/xmlpatches/4.0/AMP-31057-Donor-Funding-Admin-Levels-v1.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_0.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_1.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_2.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_3.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_4.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_5.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_6.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_7.xml # amp/src/main/resources/xmlpatches/general/views/v_nationalobjectives_level_8.xml # amp/src/main/resources/xmlpatches/general/views/v_pledges_tertiary_programs_level_2.xml # amp/src/main/resources/xmlpatches/general/views/v_pledges_tertiary_programs_level_3.xml # amp/src/main/webapp/WEB-INF/jsp/esrigis/view/mainmapPopup.jsp
Missing gazeteer
fix/GGW/GGW-issues
# Conflicts: # .github/workflows/deploy.yml # amp/pom.xml # amp/src/main/java/org/dgfoundation/amp/onepager/util/ActivityUtil.java # amp/src/main/java/org/digijava/module/message/jobs/AmpDonorFundingJob.java # amp/src/main/resources/org/digijava/module/aim/dbentity/AmpStructure.hbm.xml # amp/src/main/webapp/WEB-INF/jsp/esrigis/view/mainmapPopup.jsp
There was a problem hiding this comment.
🟡 Changes recommended
Approval is blocked by critical active issues: the new report type is missing from backend mappings, causing previews to fail, and its fetch path includes non-disaggregated rows instead of only option rows.
6 open issues
Review effort: Lite
| case 'funding-indicator-disaggregation': | ||
| return 'ID'; |
| case ArConstants.INDICATOR_TYPE: | ||
| case ArConstants.INDICATOR_DISAGGREGATION_TYPE: | ||
| return indicatorColumn; |
| @JsonProperty("ID") | ||
| INDICATOR_DISAGGREGATION((long) INDICATOR_DISAGGREGATION_TYPE, "ID"); |
There was a problem hiding this comment.
🟡 Changes recommended
A critical view defect produces synthetic criterion and option rows with invalid IDs and empty labels, while the locationless-actuals branch cannot return rows because the write path never persists the required links.
7 open issues
Filter synthetic rows for missing criterion options · New Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import
Review effort: Lite
| CROSS JOIN LATERAL (VALUES | ||
| (0, disagg_value.parent_category_id), | ||
| (1, disagg_value.child_category_id), | ||
| (2, disagg_value.third_category_id) | ||
| ) AS disagg_slot(criterion_order, option_id) |
c7cb252 to
ed678a1
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Two unresolved critical issues remain: criterion validation accepts category values outside the required class, and prepareMerge can mutate the source structure or dereference a null image set.
8 open issues
Validate criterion category class before accepting IDs · New Filter synthetic rows for missing criterion options Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import
Review effort: Lite
| if (session.get(AmpCategoryValue.class, criterion) == null) { | ||
| throw new ApiRuntimeException(BAD_REQUEST, ApiError.toError( | ||
| "Disaggregation criterion with id " + criterion + " not found.")); | ||
| } |
There was a problem hiding this comment.
🟡 Changes recommended
Active moderate and critical findings remain around unsupported report-option serialization, incorrect NULL disaggregation handling that duplicates amounts, and locationless actuals being discarded on activity saves.
11 open issues
Missing amount coordinates duplicate values across combinations · New Locationless disaggregation values are dropped on activity save · New Validate criterion category class before accepting IDs Filter synthetic rows for missing criterion options Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import Unsupported funding grouping serializes a null report type · New
Review effort: Lite
| /* Locationless actuals remain visible for each linked activity. */ | ||
| SELECT con.activity_id AS amp_activity_id, | ||
| aigv.original_value AS value, | ||
| aigv.type AS value_type, | ||
| aigv.original_value_date AS value_date, | ||
| ind.indicator_id AS me_indicator_id, | ||
| t.amp_theme_id AS program_id, | ||
| aidv.parent_category_id AS category_value_id, | ||
| aidv.child_category_id AS child_category_value_id, | ||
| aidv.third_category_id AS third_category_value_id, |
| export const INDICATOR_DISAGGREGATION_REPORT = 'funding-indicator-disaggregation'; | ||
| export const FUNDING_GROUPING_RADIO_OPTIONS = [FUNDING_DONOR, REGIONAL_REPORT, COMPONENT_REPORT, PLEDGES_REPORT, | ||
| INDICATOR_REPORT, INDICATOR_DISAGGREGATION_REPORT]; |
There was a problem hiding this comment.
🟡 Changes recommended
Two unresolved issues remain: a newly added funding-grouping option is not wired through the API and type conversion, and null image collections can still cause a critical exception in AmpStructure.prepareMerge.
11 open issues
Handle null image collections before clearing · New Locationless disaggregation values are dropped on activity save Validate criterion category class before accepting IDs Filter synthetic rows for missing criterion options Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import Unsupported funding grouping serializes a null report type
1 resolved since last review
1 file not reviewed
amp/TEMPLATE/reampv2/package-lock.json: Generated file
Review effort: Lite
| aux.getImages().clear(); | ||
| aux.getImages().addAll(new HashSet<>()); |
There was a problem hiding this comment.
🔵 Needs a closer look
Approval is blocked by an unresolved client/server report-option mismatch and a critical shallow-clone bug that can clear image associations from the source structure.
11 open issues
Handle null image collections before clearing Locationless disaggregation values are dropped on activity save Validate criterion category class before accepting IDs Filter synthetic rows for missing criterion options Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import Unsupported funding grouping serializes a null report type
1 file not reviewed
amp/TEMPLATE/reampv2/package-lock.json: Generated file
Review effort: Lite
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟡 Changes recommended
Critical integration gaps prevent the new report option and locationless disaggregated actuals from functioning end to end, while a missing third-category deletion check can cause database errors.
12 open issues
Handle null image collections before clearing Locationless disaggregation values are dropped on activity save Validate criterion category class before accepting IDs Filter synthetic rows for missing criterion options Map ID in report endpoints and activity handling Exclude non-disaggregated rows from ID reports Add ID to the report type mapping Include locationless actuals in report view Missing disaggregation utility module import Missing disaggregation utility module import Include third-category associations in the option deletion guard · New Unsupported funding grouping serializes a null report type
1 file not reviewed
amp/TEMPLATE/reampv2/package-lock.json: Generated file
Review effort: Lite
| @Interchangeable(fieldTitle = "Third Category", importable = true, pickIdOnly = true) | ||
| private AmpCategoryValue thirdCategory; |


No description provided.