@@ -49,6 +49,7 @@ class AreaReportPDF {
49
49
String biocacheServiceUrl
50
50
String biocacheHubUrl
51
51
String listsUrl
52
+ Boolean useListWs
52
53
String bieUrl
53
54
54
55
Map<String , String > distributions = new HashMap ()
@@ -79,7 +80,7 @@ class AreaReportPDF {
79
80
AreaReportPDF (DistributionsService distributionsService , JournalMapService journalMapService ,
80
81
TabulationService tabulationService , SpatialObjectsService spatialObjectsService ,
81
82
String geoserverUrl , String openstreetmapUrl , String biocacheServiceUrl , String biocacheHubUrl ,
82
- String bieUrl , String listsUrl ,
83
+ String bieUrl , String listsUrl , Boolean useListWs ,
83
84
String q , String pid ,
84
85
String areaName ,
85
86
String area_km ,
@@ -101,6 +102,7 @@ class AreaReportPDF {
101
102
this . biocacheHubUrl = biocacheHubUrl
102
103
this . bieUrl = bieUrl
103
104
this . listsUrl = listsUrl
105
+ this . useListWs = useListWs
104
106
this . pid = pid
105
107
this . query = q
106
108
this . area_km = area_km
@@ -665,11 +667,11 @@ class AreaReportPDF {
665
667
666
668
private String getSpeciesListName (String dr ) {
667
669
try {
668
- String txt = (String ) Util . urlResponse(" GET" , listsUrl + " /ws/ speciesList/" + dr). get(" text" )
670
+ String txt = (String ) Util . urlResponse(" GET" , listsUrl + " /speciesList/" + dr). get(" text" )
669
671
670
672
JSONObject jo = (JSONObject ) JSON . parse(txt)
671
673
672
- return (String ) jo. get(" listName" )
674
+ return (String ) jo. get(" listName" , jo . get( " title " , null ) )
673
675
} catch (Exception e) {
674
676
e. printStackTrace()
675
677
}
@@ -686,9 +688,16 @@ class AreaReportPDF {
686
688
boolean hasAnotherPage = true
687
689
int max = 400
688
690
int offset = 0
691
+ int page = 1
689
692
690
693
while (hasAnotherPage) {
691
- String txt = (String ) Util . urlResponse(" GET" , listsUrl + " /speciesListItems/" + dr + " ?includeKVP=true&max=" + max + " &offset=" + offset). get(" text" )
694
+ String txt
695
+ if (useListWs) {
696
+ txt = (String ) Util . urlResponse(" GET" , listsUrl + " /speciesListItems/" + dr + " ?pageSize=" + max + " &page=" + page). get(" text" )
697
+ page++
698
+ } else {
699
+ txt = (String ) Util . urlResponse(" GET" , listsUrl + " /speciesListItems/" + dr + " ?includeKVP=true&max=" + max + " &offset=" + offset). get(" text" )
700
+ }
692
701
693
702
JSONArray newValues = (JSONArray ) JSON . parse(txt)
694
703
values. addAll(newValues)
@@ -705,15 +714,18 @@ class AreaReportPDF {
705
714
706
715
for (Object o : values) {
707
716
JSONObject jo = (JSONObject ) o
708
- if (lsid. equalsIgnoreCase((String ) jo. getOrDefault(" lsid" , null ))) {
709
- JSONArray kvp = (JSONArray ) jo. get(" kvpValues" )
710
- for (Object o2 : kvp) {
711
- JSONObject jo2 = (JSONObject ) o2
712
- if (key == jo2. getOrDefault(" key" , null )) {
713
- String s = (String ) jo2. getOrDefault(" value" , null )
714
-
715
- // keep initials only
716
- return s. replaceAll(" [a-z]" , " " )
717
+ String newId = ((JSONObject ) jo. getOrDefault(" classification" , null ))?. getOrDefault(" taxonConceptID" , null )
718
+ if (lsid. equalsIgnoreCase((String ) jo. getOrDefault(" lsid" , newId))) {
719
+ JSONArray kvp = (JSONArray ) jo. getOrDefault(" kvpValues" , jo. getOrDefault(" properties" , null ))
720
+ if (kvp) {
721
+ for (Object o2 : kvp) {
722
+ JSONObject jo2 = (JSONObject ) o2
723
+ if (key == jo2. getOrDefault(" key" , null )) {
724
+ String s = (String ) jo2. getOrDefault(" value" , null )
725
+
726
+ // keep initials only
727
+ return s. replaceAll(" [a-z]" , " " )
728
+ }
717
729
}
718
730
}
719
731
}
0 commit comments