From 3f9740453b42462290c99b82ff67c5465cd393a8 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Fri, 6 Jan 2017 16:52:28 +0900 Subject: [PATCH 1/2] fix: sparkR doens't render output properly --- .../org/apache/zeppelin/spark/ZeppelinRDisplay.scala | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/spark/src/main/scala/org/apache/zeppelin/spark/ZeppelinRDisplay.scala b/spark/src/main/scala/org/apache/zeppelin/spark/ZeppelinRDisplay.scala index 8419a111fec..fe4072d5b52 100644 --- a/spark/src/main/scala/org/apache/zeppelin/spark/ZeppelinRDisplay.scala +++ b/spark/src/main/scala/org/apache/zeppelin/spark/ZeppelinRDisplay.scala @@ -18,15 +18,15 @@ package org.apache.zeppelin.spark import org.apache.zeppelin.interpreter.InterpreterResult.Code -import org.apache.zeppelin.interpreter.InterpreterResult.Code.{SUCCESS, ERROR} +import org.apache.zeppelin.interpreter.InterpreterResult.Code.{SUCCESS} import org.apache.zeppelin.interpreter.InterpreterResult.Type import org.apache.zeppelin.interpreter.InterpreterResult.Type.{TEXT, HTML, TABLE, IMG} import org.jsoup.Jsoup import org.jsoup.nodes.Element -import org.jsoup.nodes.Document +import org.jsoup.nodes.Document.OutputSettings +import org.jsoup.safety.Whitelist import scala.collection.JavaConversions._ - import scala.util.matching.Regex case class RDisplay(content: String, `type`: Type, code: Code) @@ -64,11 +64,13 @@ object ZeppelinRDisplay { } return htmlDisplay(body, imageWidth) - } private def textDisplay(body: Element): RDisplay = { - RDisplay(body.getElementsByTag("p").first().html(), TEXT, SUCCESS) + // remove HTML tag while preserving whitespaces and newlines + val text = Jsoup.clean(body.html(), "", + Whitelist.none(), new OutputSettings().prettyPrint(false)) + RDisplay(text, TEXT, SUCCESS) } private def tableDisplay(body: Element): RDisplay = { From ba3a457773bb3888c3a4e35c2c171bb8d3fa3781 Mon Sep 17 00:00:00 2001 From: 1ambda <1amb4a@gmail.com> Date: Sat, 7 Jan 2017 05:35:40 +0900 Subject: [PATCH 2/2] fix: sparkRTest --- .../java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java index 5e1e3552b14..4816e4f16a4 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java @@ -183,7 +183,7 @@ public void sparkRTest() throws IOException { waitForFinish(p); System.err.println("sparkRTest=" + p.getResult().message().get(0).getData()); assertEquals(Status.FINISHED, p.getStatus()); - assertEquals("[1] 3", p.getResult().message().get(0).getData()); + assertEquals("[1] 3", p.getResult().message().get(0).getData().trim()); } ZeppelinServer.notebook.removeNote(note.getId(), anonymous); }