From 76a6e79d1c17e3a048a3f79fd612eca0a13cc409 Mon Sep 17 00:00:00 2001 From: Attilio Mattiocco Date: Wed, 24 Apr 2024 09:29:08 +0200 Subject: [PATCH] push candidate 3.2.0 --- BUILD | 2 +- .../oss/sdmx/parser/v30/Sdmx30Queries.java | 2 +- .../oss/sdmx/util/RestQueryBuilder.java | 52 ++++++------------ RJSDMX/inst/java/SDMX.jar | Bin 244883 -> 244686 bytes STATA/jar/SDMX.jar | Bin 250077 -> 249880 bytes 5 files changed, 19 insertions(+), 37 deletions(-) diff --git a/BUILD b/BUILD index 523101c..c8a59a5 100644 --- a/BUILD +++ b/BUILD @@ -1 +1 @@ -20240409-0913 \ No newline at end of file +20240424-0928 \ No newline at end of file diff --git a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/parser/v30/Sdmx30Queries.java b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/parser/v30/Sdmx30Queries.java index 35c1ad2..ac3d1b0 100644 --- a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/parser/v30/Sdmx30Queries.java +++ b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/parser/v30/Sdmx30Queries.java @@ -135,7 +135,7 @@ public Sdmx30Queries addParams(String filter, String start, String end, String a String endFilter = (end != null && !end.isEmpty()) ? "le:" + end : ""; String sep = (!startFilter.isEmpty() && !endFilter.isEmpty()) ? "+" : ""; String timeFilter = startFilter + sep + endFilter; - addParam("c[TIME_PERIOD]=", timeFilter); + addParam("c[TIME_PERIOD]", timeFilter); } if (attributes != null) addParam("attributes", attributes); diff --git a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/util/RestQueryBuilder.java b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/util/RestQueryBuilder.java index 3199b1f..d99c95b 100644 --- a/JAVA/src/main/java/it/bancaditalia/oss/sdmx/util/RestQueryBuilder.java +++ b/JAVA/src/main/java/it/bancaditalia/oss/sdmx/util/RestQueryBuilder.java @@ -14,19 +14,15 @@ */ package it.bancaditalia.oss.sdmx.util; -import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import it.bancaditalia.oss.sdmx.parser.v21.Sdmx21Queries; - /** * URL builder for rest queries. * @@ -99,37 +95,23 @@ public RestQueryBuilder addFilter(String filter) { */ public URL build() throws MalformedURLException { - try { - StringBuilder result = new StringBuilder(); - result.append(entryPoint); - - if(this instanceof Sdmx21Queries){ - for (String path : paths) - result.append('/').append(URLEncoder.encode(path, "UTF-8")); - } - else{ - for (String path : paths) - result.append('/').append(path); - } - - boolean first = true; - if(filter != null){ - result.append(first ? '?' : '&'); - //result.append(URLEncoder.encode(filter, "UTF-8")); - result.append(filter); - first = false; - } - for (Entry entry: params.entrySet()) - { - result.append(first ? '?' : '&'); - result.append(URLEncoder.encode(entry.getKey(), "UTF-8")).append('=').append(entry.getValue()); - first = false; - } - - return new URL(result.toString()); - } catch (UnsupportedEncodingException e) { - // safe to ignore. - throw new RuntimeException("UnsupportedEncodingException", e); + StringBuilder result = new StringBuilder(); + result.append(entryPoint); + for (String path : paths) + result.append('/').append(path); + boolean first = true; + if(filter != null){ + result.append(first ? '?' : '&'); + result.append(filter); + first = false; + } + for (Entry entry: params.entrySet()) + { + result.append(first ? '?' : '&'); + result.append(entry.getKey()).append('=').append(entry.getValue()); + first = false; } + + return new URL(result.toString()); } } diff --git a/RJSDMX/inst/java/SDMX.jar b/RJSDMX/inst/java/SDMX.jar index b5a7e2b6159cd30a981ff7f9799a7030fd297669..8400011e30b59d75fef2c7f2ce4152017fd0d5aa 100644 GIT binary patch delta 10910 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 delta 11046 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