diff --git a/.classpath b/.classpath
index c732b73..466571e 100644
--- a/.classpath
+++ b/.classpath
@@ -13,7 +13,12 @@
-
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index f9fe345..cdfe4f1 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,4 +1,5 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/test/java=UTF-8
+encoding//src/test/resources=UTF-8
encoding/=UTF-8
diff --git a/changelog.md b/CHANGELOG.md
similarity index 72%
rename from changelog.md
rename to CHANGELOG.md
index 1489da1..fc797bc 100644
--- a/changelog.md
+++ b/CHANGELOG.md
@@ -3,11 +3,17 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [1-4-1] - 2020-05-06
-### Changed
+## [v1.4.2-SNAPSHOT] - 2021-04-21
+
+### Bug fixes
+
+[#21240] Generates broken gis-link
+
+
+## [1-4-1] - 2020-05-06
-**Fixes**
+### Bug fixes
[#19215] UriResolverManager: request to DL (the shortener) must be encoded
diff --git a/pom.xml b/pom.xml
index b1725f1..70b0ee4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
4.0.0
org.gcube.portlets.user
uri-resolver-manager
- 1.4.1
+ 1.4.2-SNAPSHOT
jar
uri-resolver-manager
The URI Resolver Manager
@@ -49,7 +49,7 @@
org.gcube.distribution
gcube-bom
- 1.4.0
+ 2.0.1
pom
import
diff --git a/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java b/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java
index fb1902b..6a6740a 100644
--- a/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java
+++ b/src/main/java/org/gcube/portlets/user/uriresolvermanager/UriResolverManager.java
@@ -205,23 +205,27 @@ public class UriResolverManager {
}
String baseURI = serviceAccessPoint.getServiceUrl();
+ //Encoding only the query string
- //TO ENCODE THE WHOLE URL
-// String queryString = UrlEncoderUtil.toQueryString(parameters);
-// link = baseURI+"?"+queryString;
-// logger.info("Created HTTP URI request (link): "+link);
-// link = UrlEncoderUtil.encodeString(link);
-// logger.info("Encoded it, like: "+link);
-
- //Enconding only the query string
- String queryString = UrlEncoderUtil.toQueryString(parameters);
- String linkDecoded = String.format("%s?%s", baseURI,queryString);
- String queryStringEncoded = UrlEncoderUtil.encodeString(queryString);
- link = String.format("%s?%s", baseURI,queryStringEncoded);
+ String linkDecoded = null;
+ String queryString = null;
+ if(!shortLink) {
+ //not shortening so returning the link with the query string with only the parameters encoded
+ queryString = UrlEncoderUtil.encodeQuery(parameters);
+ String toReturn = String.format("%s?%s", baseURI,queryString);
+ logger.info("returning link with encoded parameters in the query string: "+toReturn);
+ return toReturn;
+ }
+
+ queryString = UrlEncoderUtil.toQueryString(parameters);
+ linkDecoded = String.format("%s?%s", baseURI,queryString);
+ link = linkDecoded;
logger.info("Created HTTP URI request (link): "+link);
-
if(shortLink){
try{
+ String queryStringEncoded = UrlEncoderUtil.encodeString(queryString);
+ link = String.format("%s?%s", baseURI,queryStringEncoded);
+ logger.info("Encoded link is: "+link);
logger.info("Shortner start..");
UrlShortener shortener = new UrlShortener();
String shortedLink = shortener.shorten(link);
diff --git a/src/test/java/UriResolverManagerTest.java b/src/test/java/UriResolverManagerTest.java
index f53c3f8..901a7f1 100644
--- a/src/test/java/UriResolverManagerTest.java
+++ b/src/test/java/UriResolverManagerTest.java
@@ -5,7 +5,6 @@ import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portlets.user.uriresolvermanager.UriResolverManager;
import org.gcube.portlets.user.uriresolvermanager.exception.IllegalArgumentException;
import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapException;
-import org.junit.Test;
/**
*
@@ -45,7 +44,7 @@ public class UriResolverManagerTest {
Map params = new HashMap();
params.put("gis-UUID", "1a657005-29c6-4528-a115-69640c4c2900");
params.put("scope", "/pred4s/preprod/preVRE");
- String shortLink = resolver.getLink(params, true);
+ String shortLink = resolver.getLink(params, false);
System.out.println(shortLink); //true, link is shorted otherwise none
} catch (UriResolverMapException e) {
e.printStackTrace();
diff --git a/src/test/resources/.gitignore b/src/test/resources/.gitignore
index aaf50a2..cd18c4c 100644
--- a/src/test/resources/.gitignore
+++ b/src/test/resources/.gitignore
@@ -13,3 +13,4 @@
/log4j.properties
/pred4s.gcubekey
/preprod.gcubekey
+/devVRE.gcubekey