Author: lindner
Date: Mon Nov 16 21:10:11 2009
New Revision: 880959
URL: http://svn.apache.org/viewvc?rev=880959&view=rev
Log:
SHINDIG-1090 | one step closer to fixing this issue
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java?rev=880959&r1=880958&r2=880959&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/PipelinedData.java
Mon Nov 16 21:10:11 2009
@@ -468,7 +468,13 @@
throws ELException {
String hrefString = String.valueOf(expressions.parse(href, String.class)
.getValue(context));
- final Uri evaluatedHref = base.resolve(Uri.parse(hrefString));
+ final Uri evaluatedHref;
+
+ try {
+ evaluatedHref = base.resolve(Uri.parse(hrefString));
+ } catch (IllegalArgumentException e) {
+ throw new ELException("bad Uri '" + hrefString + "' - " +
e.getMessage(), e);
+ }
final Map<String, String> evaluatedAttributes = Maps.newHashMap();
for (Map.Entry<String, String> attr : attributes.entrySet()) {
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java?rev=880959&r1=880958&r2=880959&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/PipelinedDataTest.java
Mon Nov 16 21:10:11 2009
@@ -343,6 +343,24 @@
}
@Test
+ public void badHrefTest() throws Exception {
+ // unparseable url escape
+ String xml = "<Content><HttpRequest xmlns=\"" +
PipelinedData.OPENSOCIAL_NAMESPACE + "\" "
+ + " key=\"key\""
+ + " href=\"/example.html%\""
+ + "/></Content>";
+
+ boolean foundException = false;
+ try {
+ PipelinedData pipelinedData = new PipelinedData(XmlUtil.parse(xml),
GADGET_URI);
+ PipelinedData.Batch batch = pipelinedData.getBatch(expressions,
elResolver);
+ } catch (RuntimeException e) {
+ foundException = true;
+ }
+ assertTrue("found RuntimeException (for now) see SHINDIG-1090",
foundException);
+ }
+
+ @Test
public void httpRequestDefaultsSigned() throws Exception {
String xml = "<Content><HttpRequest xmlns=\"" +
PipelinedData.OPENSOCIAL_NAMESPACE + "\" "
+ " key=\"key\""