You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ss...@apache.org on 2012/07/02 20:12:31 UTC
svn commit: r1356385 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java
Author: ssievers
Date: Mon Jul 2 18:12:30 2012
New Revision: 1356385
URL: http://svn.apache.org/viewvc?rev=1356385&view=rev
Log:
SHINDIG-1809 | Encoded URL
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java?rev=1356385&r1=1356384&r2=1356385&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java Mon Jul 2 18:12:30 2012
@@ -26,6 +26,7 @@ import com.google.inject.Inject;
import org.apache.commons.lang3.StringUtils;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.common.uri.UriBuilder;
+import org.apache.shindig.common.util.Utf8UrlCoder;
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.GadgetException;
import org.apache.shindig.gadgets.GadgetException.Code;
@@ -171,6 +172,8 @@ public class DefaultJsUriManager impleme
issueUriFormatError("Unexpected: Js Uri has no path");
return INVALID_URI;
}
+ // Decode the path here because it is not automatically decoded when the Uri object is created.
+ path = Utf8UrlCoder.decode(path);
int lastSlash = path.lastIndexOf('/');
if (lastSlash != -1) {
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java?rev=1356385&r1=1356384&r2=1356385&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/DefaultJsUriManagerTest.java Mon Jul 2 18:12:30 2012
@@ -229,6 +229,20 @@ public class DefaultJsUriManagerTest {
}
@Test
+ public void processPathWithEncodedSeparator() throws GadgetException {
+ String targetHost = "target-host.org";
+ ContainerConfig config = mockConfig("http://" + targetHost, "/gadgets/js");
+ TestDefaultJsUriManager manager = makeManager(config, null);
+ Uri testUri = Uri.parse("http://target-host.org/gadgets/js/feature%3Aanother?" +
+ Param.CONTAINER.getKey() + '=' + CONTAINER);
+ JsUri jsUri = manager.processExternJsUri(testUri);
+ assertFalse(manager.hadError());
+ assertEquals(jsUri.getStatus(), UriStatus.VALID_UNVERSIONED);
+ List<String> extern = Lists.newArrayList("feature", "another");
+ assertCollectionEquals(jsUri.getLibs(), extern);
+ }
+
+ @Test
public void processPathSuffixNoJs() throws GadgetException {
String targetHost = "target-host.org";
ContainerConfig config = mockConfig("http://" + targetHost, "/gadgets/js");