From 231500bbf6e47e777c0cbb9d7dc76fa73a34f1cd Mon Sep 17 00:00:00 2001 From: Nikhil Khatwani Date: Fri, 15 Sep 2017 11:32:28 +0530 Subject: [PATCH] Chnages for BAEL-527 (#2621) --- core-java/pom.xml | 7 +++- .../EncoderDecoderUnitTest.java | 38 ++++++++++--------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/core-java/pom.xml b/core-java/pom.xml index dfc1e20cd9..bb3958f36c 100644 --- a/core-java/pom.xml +++ b/core-java/pom.xml @@ -211,6 +211,11 @@ jmh-generator-annprocess 1.19 + + org.springframework + spring-web + 4.3.4.RELEASE + @@ -464,7 +469,7 @@ 1.13 0.6.5 0.9.0 - + 1.3 4.12 diff --git a/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java b/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java index da615eef6f..c27af983d3 100644 --- a/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java +++ b/core-java/src/test/java/com/baeldung/encoderdecoder/EncoderDecoderUnitTest.java @@ -1,20 +1,23 @@ package com.baeldung.encoderdecoder; +import static java.util.stream.Collectors.joining; +import static org.hamcrest.CoreMatchers.is; + +import java.io.UnsupportedEncodingException; +import java.net.URL; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + import org.hamcrest.CoreMatchers; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import java.io.UnsupportedEncodingException; -import java.net.*; -import java.nio.charset.StandardCharsets; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import static java.util.stream.Collectors.joining; -import static org.hamcrest.CoreMatchers.*; +import org.springframework.web.util.UriUtils; public class EncoderDecoderUnitTest { @@ -76,19 +79,20 @@ public class EncoderDecoderUnitTest { private String encodePath(String path) { try { - path = new URI(null, null, path, null).getPath(); - } catch (URISyntaxException e) { + path = UriUtils.encodePath(path, "UTF-8"); + } catch (UnsupportedEncodingException e) { LOGGER.error("Error encoding parameter {}", e.getMessage(), e); } return path; } @Test - public void givenPath_thenEncodeDecodePath() throws URISyntaxException { - URI uri = new URI(null, null, "/Path 1/Path+2", null); - - Assert.assertEquals("/Path 1/Path+2", uri.getPath()); - Assert.assertEquals("/Path%201/Path+2", uri.getRawPath()); + public void givenPathSegment_thenEncodeDecode() throws UnsupportedEncodingException { + String pathSegment = "/Path 1/Path+2"; + String encodedPathSegment = encodePath(pathSegment); + String decodedPathSegment = UriUtils.decode(encodedPathSegment, "UTF-8"); + Assert.assertEquals("/Path%201/Path+2", encodedPathSegment); + Assert.assertEquals("/Path 1/Path+2", decodedPathSegment); } @Test