You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ja...@apache.org on 2010/02/24 23:39:13 UTC
svn commit: r916013 - in /shindig/trunk:
java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
javascript/container/gadgets.css
Author: jasvir
Date: Wed Feb 24 22:39:13 2010
New Revision: 916013
URL: http://svn.apache.org/viewvc?rev=916013&view=rev
Log:
* binds safejson to gadgets.json.stringify which skips over caja specific
properties and only serializes properties a gadget has access to.
* use json_sans_eval to parse json rather than eval
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
shindig/trunk/javascript/container/gadgets.css
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java?rev=916013&r1=916012&r2=916013&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/CajaContentRewriter.java Wed Feb 24 22:39:13 2010
@@ -153,6 +153,10 @@
cajoledOutput.appendChild(tameCajaClientApi(doc));
cajoledOutput.appendChild(doc.adoptNode(script));
+ Element messagesNode = formatErrors(doc, is, content.getContent(), mq,
+ /* visible */ false);
+ cajoledOutput.appendChild(messagesNode);
+
if (cajoledCache != null) {
cajoledCache.addElement(key, cajoledOutput);
}
@@ -163,7 +167,8 @@
} catch (GadgetRewriteException e) {
// There were cajoling errors
// Content is only used to produce useful snippets with error messages
- createContainerFor(doc, formatErrors(doc, is, content.getContent(), mq));
+ createContainerFor(doc,
+ formatErrors(doc, is, content.getContent(), mq, false /* visible */));
logException(e, mq);
safe = true;
} finally {
@@ -186,29 +191,30 @@
}
private Element formatErrors(Document doc, InputSource is,
- CharSequence orig, MessageQueue mq) {
+ CharSequence orig, MessageQueue mq, boolean visible) {
MessageContext mc = new MessageContext();
Map<InputSource, CharSequence> originalSrc = Maps.newHashMap();
originalSrc.put(is, orig);
mc.addInputSource(is);
SnippetProducer sp = new SnippetProducer(originalSrc, mc);
- StringBuilder messageText = new StringBuilder();
+ Element errElement = doc.createElement("ul");
+ // Style defined in gadgets.css
+ errElement.setAttribute("class", "gadgets-messages");
+ if (!visible) {
+ errElement.setAttribute("style", "display: none");
+ }
for (Message msg : mq.getMessages()) {
// Ignore LINT messages
if (MessageLevel.LINT.compareTo(msg.getMessageLevel()) <= 0) {
String snippet = sp.getSnippet(msg);
- messageText.append(msg.getMessageLevel().name())
- .append(' ')
- .append(html(msg.format(mc)));
-
- if (!StringUtils.isEmpty(snippet)) {
- messageText.append('\n').append(snippet);
- }
+ String messageText = msg.getMessageLevel().name() + ' ' +
+ html(msg.format(mc)) + ':' + snippet;
+ Element li = doc.createElement("li");
+ li.appendChild(doc.createTextNode(messageText.toString()));
+ errElement.appendChild(li);
}
}
- Element errElement = doc.createElement("pre");
- errElement.appendChild(doc.createTextNode(messageText.toString()));
return errElement;
}
Modified: shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=916013&r1=916012&r2=916013&view=diff
==============================================================================
--- shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java (original)
+++ shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java Wed Feb 24 22:39:13 2010
@@ -174,7 +174,7 @@
// Failed output contains only an error block plus a onload script block
assertEquals(2, body.getChildNodes().getLength());
- assertEquals("pre", body.getFirstChild().getNodeName());
+ assertEquals("ul", body.getFirstChild().getNodeName());
assertEquals("script", body.getLastChild().getNodeName());
}
Modified: shindig/trunk/javascript/container/gadgets.css
URL: http://svn.apache.org/viewvc/shindig/trunk/javascript/container/gadgets.css?rev=916013&r1=916012&r2=916013&view=diff
==============================================================================
--- shindig/trunk/javascript/container/gadgets.css (original)
+++ shindig/trunk/javascript/container/gadgets.css Wed Feb 24 22:39:13 2010
@@ -59,3 +59,8 @@
.gadgets-log-entry {
}
+
+// Used to style messages produced during rewriting by CajaContentRewriter
+.gadgets-messages {
+
+}