diff --git a/geoportal-application/geoportal-harvester-war/pom.xml b/geoportal-application/geoportal-harvester-war/pom.xml index cabc9276..5ed7553c 100644 --- a/geoportal-application/geoportal-harvester-war/pom.xml +++ b/geoportal-application/geoportal-harvester-war/pom.xml @@ -13,8 +13,8 @@ ${project.build.directory}/endorsed - 5.3.27 - 5.3.10.RELEASE + 5.3.37 + 5.6.9 @@ -67,7 +67,7 @@ com.h2database h2 - 2.2.220 + 2.3.230 diff --git a/geoportal-application/geoportal-harvester-war/src/main/resources/config/hrv-beans.xml b/geoportal-application/geoportal-harvester-war/src/main/resources/config/hrv-beans.xml index dc190db4..79a804e9 100644 --- a/geoportal-application/geoportal-harvester-war/src/main/resources/config/hrv-beans.xml +++ b/geoportal-application/geoportal-harvester-war/src/main/resources/config/hrv-beans.xml @@ -32,7 +32,7 @@ - + diff --git a/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/ISO19139_to_ArcGIS.xsl b/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/ISO19139_to_ArcGIS.xsl index 40943306..bc0de9a9 100644 --- a/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/ISO19139_to_ArcGIS.xsl +++ b/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/ISO19139_to_ArcGIS.xsl @@ -74,7 +74,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -90,7 +90,7 @@ - + @@ -98,6 +98,7 @@ + --> @@ -358,7 +359,7 @@ - + diff --git a/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/decodeiso19115-2.xslt b/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/decodeiso19115-2.xslt index f5d1202b..01a45c3d 100644 --- a/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/decodeiso19115-2.xslt +++ b/geoportal-commons/geoportal-commons-meta/src/main/resources/meta/decodeiso19115-2.xslt @@ -14,6 +14,15 @@ description= xdescription= modified= + + +resource.url= + + +resource.url= + + + + thumbnail.url= bbox= , diff --git a/geoportal-connectors/geoportal-harvester-agp-publisher/src/main/java/com/esri/geoportal/harvester/agp/AgpOutputBroker.java b/geoportal-connectors/geoportal-harvester-agp-publisher/src/main/java/com/esri/geoportal/harvester/agp/AgpOutputBroker.java index 955630cd..c20fccc9 100644 --- a/geoportal-connectors/geoportal-harvester-agp-publisher/src/main/java/com/esri/geoportal/harvester/agp/AgpOutputBroker.java +++ b/geoportal-connectors/geoportal-harvester-agp-publisher/src/main/java/com/esri/geoportal/harvester/agp/AgpOutputBroker.java @@ -356,7 +356,7 @@ public PublishingStatus publish(DataReference ref) throws DataOutputException { // if the item url is the same as the resourceUrl, proceed. // otherwise the metadata is for a sublayer, but the item is the parent - if (resourceUrl.equals(itemEntry.url)) { + if (resourceUrl.toLowerCase().equals(itemEntry.url.toLowerCase())) { ItemResponse response = updateItem( itemEntry.id, itemEntry.owner, @@ -467,6 +467,20 @@ private ItemEntry searchForItem(String src_uri_s) throws URISyntaxException, IOE QueryResponse search = client.search(String.format("url:%s", String.format("%s", src_uri_s)), 0, 0, token); ItemEntry itemEntry = search != null && search.results != null && search.results.length > 0 ? search.results[0] : null; + // if no results found see if changing the case of /arcgis/ to /ArcGIS/ or vice versa in the src_uri_s does find it + if (itemEntry == null) { + String src_uri_s_alternative = ""; + if (src_uri_s.contains("/arcgis/rest/services")) { + src_uri_s_alternative = src_uri_s.replace("/arcgis/rest/services", "/ArcGIS/rest/services"); + } else if (src_uri_s.contains("/ArcGIS/rest/services")) { + src_uri_s_alternative = src_uri_s.replace("/ArcGIS/rest/services", "/arcgis/rest/services"); + } + if (!src_uri_s_alternative.isBlank()) { + search = client.search(String.format("url:%s", String.format("%s", src_uri_s_alternative)), 0, 0, token); + itemEntry = search != null && search.results != null && search.results.length > 0 ? search.results[0] : null; + } + } + // if no results found and the source uri (src_uri_s) ends in /0, /1, ... this may be a sublayer // look for the parent service if (itemEntry == null) {