From 29bf407939453fc77c0514c6cc45ddcef63a5df9 Mon Sep 17 00:00:00 2001
From: Robert Butora <robert.butora@inaf.it>
Date: Sat, 20 Apr 2024 15:58:03 +0300
Subject: [PATCH] fixes bug ('&' must be escaped in xml: '&amp;')

---
 data-discovery/src/main/java/vlkb/output/XmlSerializer.java | 4 ++--
 .../src/main/java/vlkb/webapi/FormatResponseFilter.java     | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
index 2300f27..5a2013d 100644
--- a/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
+++ b/data-discovery/src/main/java/vlkb/output/XmlSerializer.java
@@ -373,10 +373,10 @@ final class XmlSerializer
          xml.append("<URL type=\"file\">" + access.accessFileUrl + "</URL>");
 
       if(access.accessCutoutUrl != null)
-         xml.append("<URL type=\"cutout\">" + access.accessCutoutUrl + "</URL>");
+         xml.append("<URL type=\"cutout\">" + access.accessCutoutUrl.replaceAll("&","&amp;") + "</URL>");
 
       if(access.accessMosaicUrl != null)
-         xml.append("<URL type=\"mosaic\">" + access.accessMosaicUrl + "</URL>");
+         xml.append("<URL type=\"mosaic\">" + access.accessMosaicUrl.replaceAll("&","&amp;") + "</URL>");
 
       xml.append("</Access>");
 
diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
index d35e091..89912a0 100644
--- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
+++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
@@ -389,11 +389,11 @@ public class FormatResponseFilter implements Filter
 
       if(coord.band != null)
       {
-         sb.append("&amp;" + coord.band.toString());
-         //sb.append("&amp;BANDSYS=" + coord.band.system.toString() );
+         sb.append("&" + coord.band.toString());
+         //sb.append("&BANDSYS=" + coord.band.system.toString() );
       }
 
-      sb.append("&amp;ID="); // FIXME id-value will be added in FormatResponseFilter
+      sb.append("&ID="); // FIXME id-value will be added in FormatResponseFilter
 
       return sb.toString();
    }
-- 
GitLab