@@ -48,14 +48,19 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
4848 if (baseUrl == null || baseUrl .isBlank ()) {
4949 return List .of ();
5050 }
51+ int pageSize = properties .pageSize ();
52+ if (pageSize <= 0 ) {
53+ log .warn ("Invalid page size {} for {} safety facilities" , pageSize , payloadName );
54+ return List .of ();
55+ }
5156 List <NormalizedSafetyFacility > facilities = new ArrayList <>();
5257 int pageNo = 1 ;
5358 int totalCount = -1 ;
54- while (pageNo <= MAX_PAGES && (totalCount < 0 || (pageNo - 1 ) * properties . pageSize () < totalCount )) {
59+ while (pageNo <= MAX_PAGES && (totalCount < 0 || (long ) ( pageNo - 1 ) * pageSize < totalCount )) {
5560 URI uri = UriComponentsBuilder .fromUriString (baseUrl )
5661 .queryParam ("serviceKey" , serviceKey )
5762 .queryParam ("pageNo" , pageNo )
58- .queryParam ("numOfRows" , properties . pageSize () )
63+ .queryParam ("numOfRows" , pageSize )
5964 .queryParam ("type" , "json" )
6065 .queryParam ("returnType" , "json" )
6166 .build ()
@@ -81,7 +86,7 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
8186 ParsedSafetyFacilityPage page ;
8287 try {
8388 page = parsePage (root );
84- } catch (IllegalArgumentException exception ) {
89+ } catch (RuntimeException exception ) {
8590 log .warn ("Failed to parse {} safety facilities from {}" , payloadName , baseUrl , exception );
8691 break ;
8792 }
@@ -92,7 +97,7 @@ List<NormalizedSafetyFacility> fetchPagedJson(String baseUrl, String serviceKey)
9297 break ;
9398 }
9499 facilities .addAll (page .facilities ());
95- if (page .rawItemCount () < properties . pageSize () ) {
100+ if (page .rawItemCount () < pageSize ) {
96101 break ;
97102 }
98103 pageNo ++;
0 commit comments