Skip to content

Commit 7d0c52d

Browse files
authored
Merge pull request #4145 from devgateway/issue/AMP-30735/ETHIOPIA--error-when-you-add-Region-column-to-report
Issue/amp 30735/ethiopia error when you add region column to report
2 parents d04a52f + 38d5391 commit 7d0c52d

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

amp/WEB-INF/src/org/digijava/kernel/ampapi/endpoints/reports/designer/ReportColumnProvider.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,9 @@ public class ReportColumnProvider extends ReportEntityProvider {
140140
Comparator.comparing(c -> ME_COLUMNS_ORDER.getOrDefault(c.getColumnName(), DEFAULT_ORDER_VALUE));
141141

142142
private TranslatorService translatorService;
143+
public TranslatorService getTranslatorService() {
144+
return translatorService;
145+
}
143146

144147
private Map<ReportType, Map<String, List<AmpColumns>>> ampTreeColumnsMapByType = new HashMap<>();
145148

amp/WEB-INF/src/org/digijava/kernel/ampapi/endpoints/reports/designer/validators/ReportColumnValidator.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import org.digijava.kernel.ampapi.endpoints.reports.designer.ReportProfile;
77
import org.digijava.kernel.ampapi.endpoints.reports.designer.ReportRequest;
88
import org.digijava.kernel.ampapi.endpoints.reports.designer.ReportType;
9+
import org.digijava.module.aim.dbentity.AmpColumns;
910

11+
import java.util.ArrayList;
1012
import java.util.List;
1113
import java.util.stream.Collectors;
1214

@@ -29,6 +31,7 @@ public class ReportColumnValidator implements ReportValidator {
2931
private boolean isEmpty;
3032

3133
private List<String> invalidIds;
34+
private List<String> invalidColumnsNames;
3235

3336
public ReportColumnValidator(final ReportColumnProvider columnProvider) {
3437
this.columnProvider = columnProvider;
@@ -53,6 +56,17 @@ public boolean isValid(Object value) {
5356
.map(String::valueOf)
5457
.collect(Collectors.toList());
5558

59+
if (!invalidIds.isEmpty()) {
60+
invalidColumnsNames = new ArrayList<>();
61+
for (String id : invalidIds) {
62+
final int idNumber = Integer.parseInt(id);
63+
AmpColumns ampColumn = columnProvider.fetchAmpColumns().stream().filter(column -> column.getColumnId() == idNumber).collect(Collectors.toList()).get(0);
64+
String name = columnProvider.getTranslatorService().translateText( ampColumn.getColumnName() );
65+
String errorText = " - [" + id + "] " + name;
66+
invalidColumnsNames.add(errorText);
67+
}
68+
}
69+
5670
return invalidIds.isEmpty();
5771
}
5872

@@ -61,7 +75,7 @@ public ApiErrorMessage getErrorMessage() {
6175
return REPORT_FIELD_REQUIRED.withDetails(COLUMNS);
6276
}
6377

64-
return REPORT_INVALID_COLUMNS.withDetails(invalidIds);
78+
return REPORT_INVALID_COLUMNS.withDetails(invalidColumnsNames);
6579
}
6680

6781
}

0 commit comments

Comments
 (0)