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