You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2018/08/26 04:44:20 UTC
[37/49] zeppelin git commit: [ZEPPELIN-3740] Adopt
`google-java-format` and `fmt-maven-plugin`
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/sap/src/test/java/org/apache/zeppelin/sap/universe/UniverseUtilTest.java
----------------------------------------------------------------------
diff --git a/sap/src/test/java/org/apache/zeppelin/sap/universe/UniverseUtilTest.java b/sap/src/test/java/org/apache/zeppelin/sap/universe/UniverseUtilTest.java
index 81a027e..af80c3a 100644
--- a/sap/src/test/java/org/apache/zeppelin/sap/universe/UniverseUtilTest.java
+++ b/sap/src/test/java/org/apache/zeppelin/sap/universe/UniverseUtilTest.java
@@ -17,12 +17,6 @@
package org.apache.zeppelin.sap.universe;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.HashMap;
-import java.util.Map;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -30,6 +24,11 @@ import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.util.HashMap;
+import java.util.Map;
+import org.junit.Before;
+import org.junit.Test;
+
public class UniverseUtilTest {
private UniverseClient universeClient;
@@ -37,335 +36,368 @@ public class UniverseUtilTest {
@Before
public void beforeTest() throws UniverseException {
- universeUtil = new UniverseUtil();
- UniverseInfo universeInfo = new UniverseInfo("1", "testUniverse", "uvx");
- Map<String, UniverseNodeInfo> testUniverseNodes = new HashMap<>();
- testUniverseNodes.put("[Dimension].[Test].[name1]",
- new UniverseNodeInfo("name1id", "name1", "dimension", "Dimension\\Test",
- "Dimension|folder\\Test|folder\\name1|dimension"));
- testUniverseNodes.put("[Dimension].[Test].[name2]",
- new UniverseNodeInfo("name2id", "name2", "dimension", "Filter\\Test",
- "Dimension|folder\\Test|folder\\name2|dimension"));
- testUniverseNodes.put("[Filter].[name3]",
- new UniverseNodeInfo("name3id", "name3", "filter", "Filter",
- "Filter|folder\\name3|filter"));
- testUniverseNodes.put("[Filter].[name4]",
- new UniverseNodeInfo("name4id", "name4", "filter", "Filter",
- "Filter|folder\\name4|filter"));
- testUniverseNodes.put("[Measure].[name5]",
- new UniverseNodeInfo("name5id", "name5", "measure", "Measure",
- "Measure|folder\\name5|measure"));
+ universeUtil = new UniverseUtil();
+ UniverseInfo universeInfo = new UniverseInfo("1", "testUniverse", "uvx");
+ Map<String, UniverseNodeInfo> testUniverseNodes = new HashMap<>();
+ testUniverseNodes.put(
+ "[Dimension].[Test].[name1]",
+ new UniverseNodeInfo(
+ "name1id",
+ "name1",
+ "dimension",
+ "Dimension\\Test",
+ "Dimension|folder\\Test|folder\\name1|dimension"));
+ testUniverseNodes.put(
+ "[Dimension].[Test].[name2]",
+ new UniverseNodeInfo(
+ "name2id",
+ "name2",
+ "dimension",
+ "Filter\\Test",
+ "Dimension|folder\\Test|folder\\name2|dimension"));
+ testUniverseNodes.put(
+ "[Filter].[name3]",
+ new UniverseNodeInfo(
+ "name3id", "name3", "filter", "Filter", "Filter|folder\\name3|filter"));
+ testUniverseNodes.put(
+ "[Filter].[name4]",
+ new UniverseNodeInfo(
+ "name4id", "name4", "filter", "Filter", "Filter|folder\\name4|filter"));
+ testUniverseNodes.put(
+ "[Measure].[name5]",
+ new UniverseNodeInfo(
+ "name5id", "name5", "measure", "Measure", "Measure|folder\\name5|measure"));
- universeClient = mock(UniverseClient.class);
- when(universeClient.getUniverseInfo(anyString())).thenReturn(universeInfo);
- when(universeClient.getUniverseNodesInfo(anyString(), anyString()))
- .thenReturn(testUniverseNodes);
+ universeClient = mock(UniverseClient.class);
+ when(universeClient.getUniverseInfo(anyString())).thenReturn(universeInfo);
+ when(universeClient.getUniverseNodesInfo(anyString(), anyString()))
+ .thenReturn(testUniverseNodes);
}
@Test
public void testForConvert() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3] and [Dimension].[Test].[name2] > 1;";
- UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
- assertNotNull(universeQuery);
- assertNotNull(universeQuery.getUniverseInfo());
- assertEquals("<resultObjects>\n" +
- "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n" +
- "</resultObjects>", universeQuery.getSelect());
- assertEquals("<and>\n" +
- "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n" +
- "\n<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\"" +
- " operator=\"GreaterThan\" id=\"name2id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">1</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n", universeQuery.getWhere());
- assertEquals("testUniverse", universeQuery.getUniverseInfo().getName());
+ String request =
+ "universe [testUniverse];\n"
+ + "select [Measure].[name5]\n"
+ + "where [Filter].[name3] and [Dimension].[Test].[name2] > 1;";
+ UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
+ assertNotNull(universeQuery);
+ assertNotNull(universeQuery.getUniverseInfo());
+ assertEquals(
+ "<resultObjects>\n"
+ + "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n"
+ + "</resultObjects>",
+ universeQuery.getSelect());
+ assertEquals(
+ "<and>\n"
+ + "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n"
+ + "\n<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\""
+ + " operator=\"GreaterThan\" id=\"name2id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">1</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n",
+ universeQuery.getWhere());
+ assertEquals("testUniverse", universeQuery.getUniverseInfo().getName());
}
@Test
public void testConvertConditions() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3] " +
- "and [Dimension].[Test].[name2] >= 1 " +
- "and [Dimension].[Test].[name2] < 20 " +
- "and [Dimension].[Test].[name1] <> 'test' " +
- "and [Dimension].[Test].[name1] is not null " +
- "and [Measure].[name5] is null" +
- "and [Dimension].[Test].[name1] in ('var1', 'v a r 2') " +
- "and [Dimension].[Test].[name1] in ('var1','withoutspaces')" +
- "and [Dimension].[Test].[name1] in ('one value')" +
- "and [Dimension].[Test].[name2] in (1,3,4);";
+ String request =
+ "universe [testUniverse];\n"
+ + "select [Measure].[name5]\n"
+ + "where [Filter].[name3] "
+ + "and [Dimension].[Test].[name2] >= 1 "
+ + "and [Dimension].[Test].[name2] < 20 "
+ + "and [Dimension].[Test].[name1] <> 'test' "
+ + "and [Dimension].[Test].[name1] is not null "
+ + "and [Measure].[name5] is null"
+ + "and [Dimension].[Test].[name1] in ('var1', 'v a r 2') "
+ + "and [Dimension].[Test].[name1] in ('var1','withoutspaces')"
+ + "and [Dimension].[Test].[name1] in ('one value')"
+ + "and [Dimension].[Test].[name2] in (1,3,4);";
UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
assertNotNull(universeQuery);
- assertEquals("<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<and>\n" +
- "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\"" +
- " operator=\"GreaterThanOrEqualTo\" id=\"name2id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">1</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\"" +
- " operator=\"LessThan\" id=\"name2id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">20</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\"" +
- " operator=\"NotEqualTo\" id=\"name1id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">test</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter id=\"name1id\" path=\"Dimension|folder\\Test|folder\\name1|dimension\"" +
- " operator=\"IsNotNull\"/>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNull\"/>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\"" +
- " operator=\"InList\" id=\"name1id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">var1</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"String\">v a r 2</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\"" +
- " operator=\"InList\" id=\"name1id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">var1</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"String\">withoutspaces</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\"" +
- " operator=\"InList\" id=\"name1id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">one value</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\"" +
- " operator=\"InList\" id=\"name2id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">1</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">3</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">4</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</and>\n",
+ assertEquals(
+ "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<and>\n"
+ + "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\""
+ + " operator=\"GreaterThanOrEqualTo\" id=\"name2id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">1</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\""
+ + " operator=\"LessThan\" id=\"name2id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">20</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\""
+ + " operator=\"NotEqualTo\" id=\"name1id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">test</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter id=\"name1id\" path=\"Dimension|folder\\Test|folder\\name1|dimension\""
+ + " operator=\"IsNotNull\"/>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNull\"/>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\""
+ + " operator=\"InList\" id=\"name1id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">var1</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">v a r 2</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\""
+ + " operator=\"InList\" id=\"name1id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">var1</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">withoutspaces</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\""
+ + " operator=\"InList\" id=\"name1id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">one value</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\""
+ + " operator=\"InList\" id=\"name2id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">1</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">3</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">4</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</and>\n",
universeQuery.getWhere());
}
@Test(expected = UniverseException.class)
public void testFailConvertWithoutUniverse() throws UniverseException {
- String request = "universe ;\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3] and [Dimension].[Test].[name2] > 1;";
+ String request =
+ "universe ;\n"
+ + "select [Measure].[name5]\n"
+ + "where [Filter].[name3] and [Dimension].[Test].[name2] > 1;";
universeUtil.convertQuery(request, universeClient, null);
}
@Test(expected = UniverseException.class)
public void testFailConvertWithIncorrectSelect() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [not].[exist];";
+ String request = "universe [testUniverse];\n" + "select [not].[exist];";
universeUtil.convertQuery(request, universeClient, null);
}
-
@Test(expected = UniverseException.class)
public void testFailConvertWithIncorrectCondition() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name;";
+ String request =
+ "universe [testUniverse];\n" + "select [Measure].[name5]\n" + "where [Filter].[name;";
universeUtil.convertQuery(request, universeClient, null);
}
@Test
public void testFiltersConditions() throws UniverseException {
- String request1 = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3];";
- String request2 = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Measure].[name5] > 2 and [Filter].[name3];";
- String request3 = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3] or [Measure].[name5];";
- String request4 = "universe [testUniverse];\n" +
- "select [Measure].[name5]\n" +
- "where [Filter].[name3] and [Measure].[name5] is null;";
+ String request1 =
+ "universe [testUniverse];\n" + "select [Measure].[name5]\n" + "where [Filter].[name3];";
+ String request2 =
+ "universe [testUniverse];\n"
+ + "select [Measure].[name5]\n"
+ + "where [Measure].[name5] > 2 and [Filter].[name3];";
+ String request3 =
+ "universe [testUniverse];\n"
+ + "select [Measure].[name5]\n"
+ + "where [Filter].[name3] or [Measure].[name5];";
+ String request4 =
+ "universe [testUniverse];\n"
+ + "select [Measure].[name5]\n"
+ + "where [Filter].[name3] and [Measure].[name5] is null;";
UniverseQuery universeQuery = universeUtil.convertQuery(request1, universeClient, null);
- assertEquals("<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n",
+ assertEquals(
+ "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n",
universeQuery.getWhere());
universeQuery = universeUtil.convertQuery(request2, universeClient, null);
- assertEquals("<and>\n" +
- "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"GreaterThan\" id=\"name5id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">2</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n" +
- "</and>\n",
+ assertEquals(
+ "<and>\n"
+ + "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"GreaterThan\" id=\"name5id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">2</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n"
+ + "</and>\n",
universeQuery.getWhere());
universeQuery = universeUtil.convertQuery(request3, universeClient, null);
- assertEquals("<or>\n" +
- "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n" +
- "<predefinedFilter path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n\n" +
- "</or>\n",
+ assertEquals(
+ "<or>\n"
+ + "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n"
+ + "<predefinedFilter path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n\n"
+ + "</or>\n",
universeQuery.getWhere());
universeQuery = universeUtil.convertQuery(request4, universeClient, null);
- assertEquals("<and>\n" +
- "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n" +
- "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNull\"/>\n\n" +
- "</and>\n",
+ assertEquals(
+ "<and>\n"
+ + "<predefinedFilter path=\"Filter|folder\\name3|filter\" id=\"name3id\"/>\n\n"
+ + "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNull\"/>\n\n"
+ + "</and>\n",
universeQuery.getWhere());
}
@Test
public void testNestedConditions() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [Dimension].[Test].[name2]\n" +
- "where ([Measure].[name5] = 'text' or ([Dimension].[Test].[name1] in ('1','2', '3') and\n" +
- "[Dimension].[Test].[name2] is not null)) and ([Filter].[name4] or [Measure].[name5] >=12)\n" +
- "or [Dimension].[Test].[name2] not in (31, 65, 77);";
+ String request =
+ "universe [testUniverse];\n"
+ + "select [Dimension].[Test].[name2]\n"
+ + "where ([Measure].[name5] = 'text' or ([Dimension].[Test].[name1] in ('1','2', '3') and\n"
+ + "[Dimension].[Test].[name2] is not null)) and ([Filter].[name4] or [Measure].[name5] >=12)\n"
+ + "or [Dimension].[Test].[name2] not in (31, 65, 77);";
UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
- assertEquals("<or>\n" +
- "<and>\n" +
- "<or>\n" +
- "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"EqualTo\" id=\"name5id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">text</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "<and>\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\" operator=\"InList\" id=\"name1id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"String\">1</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"String\">2</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"String\">3</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "<comparisonFilter id=\"name2id\" path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"IsNotNull\"/>\n\n" +
- "</and>\n\n" +
- "</or>\n\n" +
- "<or>\n" +
- "<predefinedFilter path=\"Filter|folder\\name4|filter\" id=\"name4id\"/>\n\n" +
- "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"GreaterThanOrEqualTo\" id=\"name5id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">12</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</or>\n\n" +
- "</and>\n\n" +
- "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"NotInList\" id=\"name2id\">\n" +
- "<constantOperand>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">31</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">65</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">77</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "</or>\n",
+ assertEquals(
+ "<or>\n"
+ + "<and>\n"
+ + "<or>\n"
+ + "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"EqualTo\" id=\"name5id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">text</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "<and>\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name1|dimension\" operator=\"InList\" id=\"name1id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">1</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">2</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"String\">3</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "<comparisonFilter id=\"name2id\" path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"IsNotNull\"/>\n\n"
+ + "</and>\n\n"
+ + "</or>\n\n"
+ + "<or>\n"
+ + "<predefinedFilter path=\"Filter|folder\\name4|filter\" id=\"name4id\"/>\n\n"
+ + "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"GreaterThanOrEqualTo\" id=\"name5id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">12</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</or>\n\n"
+ + "</and>\n\n"
+ + "<comparisonFilter path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"NotInList\" id=\"name2id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">31</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">65</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">77</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "</or>\n",
universeQuery.getWhere());
}
@Test
public void testWithoutConditions() throws UniverseException {
- String request = "universe [testUniverse];\n" +
- "select [Dimension].[Test].[name2], [Measure].[name5],\n" +
- "[Dimension].[Test].[name1] ;";
+ String request =
+ "universe [testUniverse];\n"
+ + "select [Dimension].[Test].[name2], [Measure].[name5],\n"
+ + "[Dimension].[Test].[name1] ;";
UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
assertNull(universeQuery.getWhere());
- assertEquals("<resultObjects>\n" +
- "<resultObject path=\"Dimension|folder\\Test|folder\\name2|dimension\" id=\"name2id\"/>\n" +
- "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n" +
- "<resultObject path=\"Dimension|folder\\Test|folder\\name1|dimension\" id=\"name1id\"/>\n" +
- "</resultObjects>",
+ assertEquals(
+ "<resultObjects>\n"
+ + "<resultObject path=\"Dimension|folder\\Test|folder\\name2|dimension\" id=\"name2id\"/>\n"
+ + "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n"
+ + "<resultObject path=\"Dimension|folder\\Test|folder\\name1|dimension\" id=\"name1id\"/>\n"
+ + "</resultObjects>",
universeQuery.getSelect());
}
@Test
public void testCaseSensitive() throws UniverseException {
- String request = "uniVersE [testUniverse];\n" +
- "seLEct [Dimension].[Test].[name2], [Measure].[name5]\n" +
- "whERE [Dimension].[Test].[name2] Is NULl Or [Measure].[name5] IN (1,2) aNd [Measure].[name5] is NOT nUll;";
+ String request =
+ "uniVersE [testUniverse];\n"
+ + "seLEct [Dimension].[Test].[name2], [Measure].[name5]\n"
+ + "whERE [Dimension].[Test].[name2] Is NULl Or [Measure].[name5] IN (1,2) aNd [Measure].[name5] is NOT nUll;";
UniverseQuery universeQuery = universeUtil.convertQuery(request, universeClient, null);
- assertEquals("<resultObjects>\n" +
- "<resultObject path=\"Dimension|folder\\Test|folder\\name2|dimension\" id=\"name2id\"/>\n" +
- "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n" +
- "</resultObjects>",
+ assertEquals(
+ "<resultObjects>\n"
+ + "<resultObject path=\"Dimension|folder\\Test|folder\\name2|dimension\" id=\"name2id\"/>\n"
+ + "<resultObject path=\"Measure|folder\\name5|measure\" id=\"name5id\"/>\n"
+ + "</resultObjects>",
universeQuery.getSelect());
- assertEquals("<or>\n" +
- "<comparisonFilter id=\"name2id\" path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"IsNull\"/>\n\n" +
- "<and>\n" +
- "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"InList\" id=\"name5id\">\n" +
- "<constantOperand>\n" + "<value>\n" + "<caption type=\"Numeric\">1</caption>\n" +
- "</value>\n" +
- "<value>\n" +
- "<caption type=\"Numeric\">2</caption>\n" +
- "</value>\n" +
- "</constantOperand>\n" +
- "</comparisonFilter>\n\n" +
- "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNotNull\"/>\n\n" +
- "</and>\n\n" +
- "</or>\n",
+ assertEquals(
+ "<or>\n"
+ + "<comparisonFilter id=\"name2id\" path=\"Dimension|folder\\Test|folder\\name2|dimension\" operator=\"IsNull\"/>\n\n"
+ + "<and>\n"
+ + "<comparisonFilter path=\"Measure|folder\\name5|measure\" operator=\"InList\" id=\"name5id\">\n"
+ + "<constantOperand>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">1</caption>\n"
+ + "</value>\n"
+ + "<value>\n"
+ + "<caption type=\"Numeric\">2</caption>\n"
+ + "</value>\n"
+ + "</constantOperand>\n"
+ + "</comparisonFilter>\n\n"
+ + "<comparisonFilter id=\"name5id\" path=\"Measure|folder\\name5|measure\" operator=\"IsNotNull\"/>\n\n"
+ + "</and>\n\n"
+ + "</or>\n",
universeQuery.getWhere());
}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/scalding/pom.xml
----------------------------------------------------------------------
diff --git a/scalding/pom.xml b/scalding/pom.xml
index 2a9e456..ec7fe40 100644
--- a/scalding/pom.xml
+++ b/scalding/pom.xml
@@ -184,14 +184,6 @@
</execution>
</executions>
</plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <skip>false</skip>
- </configuration>
- </plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
----------------------------------------------------------------------
diff --git a/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java b/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
index f46a1d7..0985c03 100644
--- a/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
+++ b/scalding/src/main/java/org/apache/zeppelin/scalding/ScaldingInterpreter.java
@@ -17,10 +17,7 @@
package org.apache.zeppelin.scalding;
-import org.apache.hadoop.security.UserGroupInformation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
+import com.twitter.scalding.ScaldingILoop;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
@@ -31,11 +28,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
-
-import com.twitter.scalding.ScaldingILoop;
-
-import scala.Console;
-
+import org.apache.hadoop.security.UserGroupInformation;
import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
@@ -43,11 +36,11 @@ import org.apache.zeppelin.interpreter.InterpreterResult.Code;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import scala.Console;
-/**
- * Scalding interpreter for Zeppelin. Based off the Spark interpreter code.
- *
- */
+/** Scalding interpreter for Zeppelin. Based off the Spark interpreter code. */
public class ScaldingInterpreter extends Interpreter {
Logger logger = LoggerFactory.getLogger(ScaldingInterpreter.class);
@@ -70,8 +63,7 @@ public class ScaldingInterpreter extends Interpreter {
@Override
public void open() {
numOpenInstances = numOpenInstances + 1;
- String maxOpenInstancesStr = getProperty(MAX_OPEN_INSTANCES,
- MAX_OPEN_INSTANCES_DEFAULT);
+ String maxOpenInstancesStr = getProperty(MAX_OPEN_INSTANCES, MAX_OPEN_INSTANCES_DEFAULT);
int maxOpenInstances = 50;
try {
maxOpenInstances = Integer.valueOf(maxOpenInstancesStr);
@@ -104,7 +96,6 @@ public class ScaldingInterpreter extends Interpreter {
interpreter.intp().close();
}
-
@Override
public InterpreterResult interpret(String cmd, InterpreterContext contextInterpreter) {
String user = contextInterpreter.getAuthenticationInfo().getUser();
@@ -113,10 +104,10 @@ public class ScaldingInterpreter extends Interpreter {
if (interpreter == null) {
logger.error(
"interpreter == null, open may not have been called because max.open.instances reached");
- return new InterpreterResult(Code.ERROR,
- "interpreter == null\n" +
- "open may not have been called because max.open.instances reached"
- );
+ return new InterpreterResult(
+ Code.ERROR,
+ "interpreter == null\n"
+ + "open may not have been called because max.open.instances reached");
}
if (cmd == null || cmd.trim().length() == 0) {
return new InterpreterResult(Code.SUCCESS);
@@ -187,9 +178,9 @@ public class ScaldingInterpreter extends Interpreter {
String nextLine = linesToRun[l + 1].trim();
boolean continuation = false;
if (nextLine.isEmpty()
- || nextLine.startsWith("//") // skip empty line or comment
- || nextLine.startsWith("}")
- || nextLine.startsWith("object")) { // include "} object" for Scala companion object
+ || nextLine.startsWith("//") // skip empty line or comment
+ || nextLine.startsWith("}")
+ || nextLine.startsWith("object")) { // include "} object" for Scala companion object
continuation = true;
} else if (!inComment && nextLine.startsWith("/*")) {
inComment = true;
@@ -198,9 +189,9 @@ public class ScaldingInterpreter extends Interpreter {
inComment = false;
continuation = true;
} else if (nextLine.length() > 1
- && nextLine.charAt(0) == '.'
- && nextLine.charAt(1) != '.' // ".."
- && nextLine.charAt(1) != '/') { // "./"
+ && nextLine.charAt(0) == '.'
+ && nextLine.charAt(1) != '.' // ".."
+ && nextLine.charAt(1) != '/') { // "./"
continuation = true;
} else if (inComment) {
continuation = true;
@@ -266,14 +257,13 @@ public class ScaldingInterpreter extends Interpreter {
@Override
public Scheduler getScheduler() {
- return SchedulerFactory.singleton().createOrGetFIFOScheduler(
- ScaldingInterpreter.class.getName() + this.hashCode());
+ return SchedulerFactory.singleton()
+ .createOrGetFIFOScheduler(ScaldingInterpreter.class.getName() + this.hashCode());
}
@Override
- public List<InterpreterCompletion> completion(String buf, int cursor,
- InterpreterContext interpreterContext) {
+ public List<InterpreterCompletion> completion(
+ String buf, int cursor, InterpreterContext interpreterContext) {
return NO_COMPLETION;
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/scalding/src/test/java/org/apache/zeppelin/scalding/ScaldingInterpreterTest.java
----------------------------------------------------------------------
diff --git a/scalding/src/test/java/org/apache/zeppelin/scalding/ScaldingInterpreterTest.java b/scalding/src/test/java/org/apache/zeppelin/scalding/ScaldingInterpreterTest.java
index 992c155..afb0bae 100644
--- a/scalding/src/test/java/org/apache/zeppelin/scalding/ScaldingInterpreterTest.java
+++ b/scalding/src/test/java/org/apache/zeppelin/scalding/ScaldingInterpreterTest.java
@@ -17,6 +17,11 @@
package org.apache.zeppelin.scalding;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.util.Properties;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
@@ -27,16 +32,7 @@ import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
-import java.io.File;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests for the Scalding interpreter for Zeppelin.
- *
- */
+/** Tests for the Scalding interpreter for Zeppelin. */
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ScaldingInterpreterTest {
public static ScaldingInterpreter repl;
@@ -45,8 +41,9 @@ public class ScaldingInterpreterTest {
@Before
public void setUp() throws Exception {
- tmpDir = new File(System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" +
- System.currentTimeMillis());
+ tmpDir =
+ new File(
+ System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis());
System.setProperty("zeppelin.dep.localrepo", tmpDir.getAbsolutePath() + "/local-repo");
tmpDir.mkdirs();
@@ -59,11 +56,12 @@ public class ScaldingInterpreterTest {
repl.open();
}
- context = InterpreterContext.builder()
- .setNoteId("noteId")
- .setParagraphId("paragraphId")
- .setAuthenticationInfo(new AuthenticationInfo())
- .build();
+ context =
+ InterpreterContext.builder()
+ .setNoteId("noteId")
+ .setParagraphId("paragraphId")
+ .setAuthenticationInfo(new AuthenticationInfo())
+ .build();
}
@After
@@ -88,40 +86,45 @@ public class ScaldingInterpreterTest {
@Test
public void testNextLineComments() {
- assertEquals(InterpreterResult.Code.SUCCESS,
- repl.interpret("\"123\"\n/*comment here\n*/.toInt", context).code());
+ assertEquals(
+ InterpreterResult.Code.SUCCESS,
+ repl.interpret("\"123\"\n/*comment here\n*/.toInt", context).code());
}
@Test
public void testNextLineCompanionObject() {
- String code = "class Counter {\nvar value: Long = 0\n}\n // comment\n\n object Counter " +
- "{\n def apply(x: Long) = new Counter()\n}";
+ String code =
+ "class Counter {\nvar value: Long = 0\n}\n // comment\n\n object Counter "
+ + "{\n def apply(x: Long) = new Counter()\n}";
assertEquals(InterpreterResult.Code.SUCCESS, repl.interpret(code, context).code());
}
@Test
public void testBasicIntp() {
- assertEquals(InterpreterResult.Code.SUCCESS,
- repl.interpret("val a = 1\nval b = 2", context).code());
+ assertEquals(
+ InterpreterResult.Code.SUCCESS, repl.interpret("val a = 1\nval b = 2", context).code());
// when interpret incomplete expression
InterpreterResult incomplete = repl.interpret("val a = \"\"\"", context);
assertEquals(InterpreterResult.Code.INCOMPLETE, incomplete.code());
assertTrue(incomplete.message().get(0).getData().length() > 0); // expecting some error
- // message
+ // message
}
@Test
public void testBasicScalding() {
- assertEquals(InterpreterResult.Code.SUCCESS,
- repl.interpret("case class Sale(state: String, name: String, sale: Int)\n" +
- "val salesList = List(Sale(\"CA\", \"A\", 60), Sale(\"CA\", \"A\", 20), " +
- "Sale(\"VA\", \"B\", 15))\n" +
- "val salesPipe = TypedPipe.from(salesList)\n" +
- "val results = salesPipe.map{x => (1, Set(x.state), x.sale)}.\n" +
- " groupAll.sum.values.map{ case(count, set, sum) => (count, set.size, sum) }\n" +
- "results.dump",
- context).code());
+ assertEquals(
+ InterpreterResult.Code.SUCCESS,
+ repl.interpret(
+ "case class Sale(state: String, name: String, sale: Int)\n"
+ + "val salesList = List(Sale(\"CA\", \"A\", 60), Sale(\"CA\", \"A\", 20), "
+ + "Sale(\"VA\", \"B\", 15))\n"
+ + "val salesPipe = TypedPipe.from(salesList)\n"
+ + "val results = salesPipe.map{x => (1, Set(x.state), x.sale)}.\n"
+ + " groupAll.sum.values.map{ case(count, set, sum) => (count, set.size, sum) }\n"
+ + "results.dump",
+ context)
+ .code());
}
@Test
@@ -131,14 +134,15 @@ public class ScaldingInterpreterTest {
@Test
public void testEndWithComment() {
- assertEquals(InterpreterResult.Code.SUCCESS, repl.interpret("val c=1\n//comment",
- context).code());
+ assertEquals(
+ InterpreterResult.Code.SUCCESS, repl.interpret("val c=1\n//comment", context).code());
}
@Test
public void testReferencingUndefinedVal() {
- InterpreterResult result = repl.interpret("def category(min: Int) = {"
- + " if (0 <= value) \"error\"" + "}", context);
+ InterpreterResult result =
+ repl.interpret(
+ "def category(min: Int) = {" + " if (0 <= value) \"error\"" + "}", context);
assertEquals(Code.ERROR, result.code());
}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/scio/src/test/java/org/apache/zeppelin/scio/ScioInterpreterTest.java
----------------------------------------------------------------------
diff --git a/scio/src/test/java/org/apache/zeppelin/scio/ScioInterpreterTest.java b/scio/src/test/java/org/apache/zeppelin/scio/ScioInterpreterTest.java
index 2e5c0d9..63cc7ce 100644
--- a/scio/src/test/java/org/apache/zeppelin/scio/ScioInterpreterTest.java
+++ b/scio/src/test/java/org/apache/zeppelin/scio/ScioInterpreterTest.java
@@ -17,20 +17,14 @@
package org.apache.zeppelin.scio;
-import org.apache.zeppelin.display.AngularObjectRegistry;
-import org.apache.zeppelin.display.GUI;
-import org.apache.zeppelin.interpreter.*;
-import org.apache.zeppelin.resource.LocalResourcePool;
-import org.apache.zeppelin.user.AuthenticationInfo;
-import org.junit.Before;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
-import java.util.HashMap;
import java.util.LinkedList;
import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.apache.zeppelin.interpreter.*;
+import org.junit.Before;
+import org.junit.Test;
public class ScioInterpreterTest {
private static ScioInterpreter repl;
@@ -40,10 +34,7 @@ public class ScioInterpreterTest {
private final String newline = "\n";
private InterpreterContext getNewContext() {
- return InterpreterContext.builder()
- .setNoteId("noteId")
- .setParagraphId("paragraphId")
- .build();
+ return InterpreterContext.builder().setNoteId("noteId").setParagraphId("paragraphId").build();
}
@Before
@@ -62,7 +53,8 @@ public class ScioInterpreterTest {
@Test
public void testBasicSuccess() {
- assertEquals(InterpreterResult.Code.SUCCESS,
+ assertEquals(
+ InterpreterResult.Code.SUCCESS,
repl.interpret("val a = 1" + newline + "val b = 2", context).code());
}
@@ -82,28 +74,36 @@ public class ScioInterpreterTest {
@Test
public void testBasicPipeline() {
- assertEquals(InterpreterResult.Code.SUCCESS,
- repl.interpret("val (sc, _) = ContextAndArgs(argz)" + newline
- + "sc.parallelize(1 to 10).closeAndCollect().toList", context).code());
+ assertEquals(
+ InterpreterResult.Code.SUCCESS,
+ repl.interpret(
+ "val (sc, _) = ContextAndArgs(argz)"
+ + newline
+ + "sc.parallelize(1 to 10).closeAndCollect().toList",
+ context)
+ .code());
}
@Test
public void testBasicMultiStepPipeline() {
final StringBuilder code = new StringBuilder();
- code.append("val (sc, _) = ContextAndArgs(argz)").append(newline)
- .append("val numbers = sc.parallelize(1 to 10)").append(newline)
- .append("val results = numbers.closeAndCollect().toList").append(newline)
+ code.append("val (sc, _) = ContextAndArgs(argz)")
+ .append(newline)
+ .append("val numbers = sc.parallelize(1 to 10)")
+ .append(newline)
+ .append("val results = numbers.closeAndCollect().toList")
+ .append(newline)
.append("println(results)");
- assertEquals(InterpreterResult.Code.SUCCESS,
- repl.interpret(code.toString(), context).code());
+ assertEquals(InterpreterResult.Code.SUCCESS, repl.interpret(code.toString(), context).code());
}
@Test
public void testException() {
- InterpreterResult exception = repl.interpret("val (sc, _) = ContextAndArgs(argz)" + newline
- + "throw new Exception(\"test\")", context);
+ InterpreterResult exception =
+ repl.interpret(
+ "val (sc, _) = ContextAndArgs(argz)" + newline + "throw new Exception(\"test\")",
+ context);
assertEquals(InterpreterResult.Code.ERROR, exception.code());
assertTrue(exception.message().get(0).getData().length() > 0);
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/shell/pom.xml
----------------------------------------------------------------------
diff --git a/shell/pom.xml b/shell/pom.xml
index 9f51dcc..6a7fda9 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -88,13 +88,6 @@
<plugin>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <configuration>
- <skip>false</skip>
- </configuration>
- </plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java
----------------------------------------------------------------------
diff --git a/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java b/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java
index c686896..3072d5c 100644
--- a/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java
+++ b/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java
@@ -17,15 +17,6 @@
package org.apache.zeppelin.shell;
-import org.apache.commons.exec.CommandLine;
-import org.apache.commons.exec.DefaultExecutor;
-import org.apache.commons.exec.ExecuteException;
-import org.apache.commons.exec.ExecuteWatchdog;
-import org.apache.commons.exec.PumpStreamHandler;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
@@ -33,7 +24,12 @@ import java.io.OutputStream;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
-
+import org.apache.commons.exec.CommandLine;
+import org.apache.commons.exec.DefaultExecutor;
+import org.apache.commons.exec.ExecuteException;
+import org.apache.commons.exec.ExecuteWatchdog;
+import org.apache.commons.exec.PumpStreamHandler;
+import org.apache.commons.lang3.StringUtils;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterException;
import org.apache.zeppelin.interpreter.InterpreterResult;
@@ -42,10 +38,10 @@ import org.apache.zeppelin.interpreter.KerberosInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.scheduler.SchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-/**
- * Shell interpreter for Zeppelin.
- */
+/** Shell interpreter for Zeppelin. */
public class ShellInterpreter extends KerberosInterpreter {
private static final Logger LOGGER = LoggerFactory.getLogger(ShellInterpreter.class);
@@ -76,21 +72,22 @@ public class ShellInterpreter extends KerberosInterpreter {
if (executor != null) {
try {
executor.getWatchdog().destroyProcess();
- } catch (Exception e){
+ } catch (Exception e) {
LOGGER.error("error destroying executor for paragraphId: " + executorKey, e);
}
}
}
}
-
@Override
public InterpreterResult interpret(String originalCmd, InterpreterContext contextInterpreter) {
- String cmd = Boolean.parseBoolean(getProperty("zeppelin.shell.interpolation")) ?
- interpolate(originalCmd, contextInterpreter.getResourcePool()) : originalCmd;
+ String cmd =
+ Boolean.parseBoolean(getProperty("zeppelin.shell.interpolation"))
+ ? interpolate(originalCmd, contextInterpreter.getResourcePool())
+ : originalCmd;
LOGGER.debug("Run shell command '" + cmd + "'");
OutputStream outStream = new ByteArrayOutputStream();
-
+
CommandLine cmdLine = CommandLine.parse(shell);
// the Windows CMD shell doesn't handle multiline statements,
// they need to be delimited by '&&' instead
@@ -102,19 +99,22 @@ public class ShellInterpreter extends KerberosInterpreter {
try {
DefaultExecutor executor = new DefaultExecutor();
- executor.setStreamHandler(new PumpStreamHandler(
- contextInterpreter.out, contextInterpreter.out));
+ executor.setStreamHandler(
+ new PumpStreamHandler(contextInterpreter.out, contextInterpreter.out));
- executor.setWatchdog(new ExecuteWatchdog(
- Long.valueOf(getProperty(TIMEOUT_PROPERTY, defaultTimeoutProperty))));
+ executor.setWatchdog(
+ new ExecuteWatchdog(Long.valueOf(getProperty(TIMEOUT_PROPERTY, defaultTimeoutProperty))));
executors.put(contextInterpreter.getParagraphId(), executor);
if (Boolean.valueOf(getProperty(DIRECTORY_USER_HOME))) {
executor.setWorkingDirectory(new File(System.getProperty("user.home")));
}
int exitVal = executor.execute(cmdLine);
- LOGGER.info("Paragraph " + contextInterpreter.getParagraphId()
- + " return with exit value: " + exitVal);
+ LOGGER.info(
+ "Paragraph "
+ + contextInterpreter.getParagraphId()
+ + " return with exit value: "
+ + exitVal);
return new InterpreterResult(Code.SUCCESS, outStream.toString());
} catch (ExecuteException e) {
int exitValue = e.getExitValue();
@@ -124,8 +124,11 @@ public class ShellInterpreter extends KerberosInterpreter {
if (exitValue == 143) {
code = Code.INCOMPLETE;
message += "Paragraph received a SIGTERM\n";
- LOGGER.info("The paragraph " + contextInterpreter.getParagraphId()
- + " stopped executing: " + message);
+ LOGGER.info(
+ "The paragraph "
+ + contextInterpreter.getParagraphId()
+ + " stopped executing: "
+ + message);
}
message += "ExitValue: " + exitValue;
return new InterpreterResult(code, message);
@@ -143,7 +146,7 @@ public class ShellInterpreter extends KerberosInterpreter {
if (executor != null) {
try {
executor.getWatchdog().destroyProcess();
- } catch (Exception e){
+ } catch (Exception e) {
LOGGER.error("error destroying executor for paragraphId: " + context.getParagraphId(), e);
}
}
@@ -161,13 +164,13 @@ public class ShellInterpreter extends KerberosInterpreter {
@Override
public Scheduler getScheduler() {
- return SchedulerFactory.singleton().createOrGetParallelScheduler(
- ShellInterpreter.class.getName() + this.hashCode(), 10);
+ return SchedulerFactory.singleton()
+ .createOrGetParallelScheduler(ShellInterpreter.class.getName() + this.hashCode(), 10);
}
@Override
- public List<InterpreterCompletion> completion(String buf, int cursor,
- InterpreterContext interpreterContext) {
+ public List<InterpreterCompletion> completion(
+ String buf, int cursor, InterpreterContext interpreterContext) {
return null;
}
@@ -186,9 +189,11 @@ public class ShellInterpreter extends KerberosInterpreter {
Properties properties = getProperties();
CommandLine cmdLine = CommandLine.parse(shell);
cmdLine.addArgument("-c", false);
- String kinitCommand = String.format("kinit -k -t %s %s",
- properties.getProperty("zeppelin.shell.keytab.location"),
- properties.getProperty("zeppelin.shell.principal"));
+ String kinitCommand =
+ String.format(
+ "kinit -k -t %s %s",
+ properties.getProperty("zeppelin.shell.keytab.location"),
+ properties.getProperty("zeppelin.shell.principal"));
cmdLine.addArgument(kinitCommand, false);
DefaultExecutor executor = new DefaultExecutor();
try {
@@ -201,11 +206,10 @@ public class ShellInterpreter extends KerberosInterpreter {
@Override
protected boolean isKerboseEnabled() {
- if (!StringUtils.isAnyEmpty(getProperty("zeppelin.shell.auth.type")) && getProperty(
- "zeppelin.shell.auth.type").equalsIgnoreCase("kerberos")) {
+ if (!StringUtils.isAnyEmpty(getProperty("zeppelin.shell.auth.type"))
+ && getProperty("zeppelin.shell.auth.type").equalsIgnoreCase("kerberos")) {
return true;
}
return false;
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/shell/src/test/java/org/apache/zeppelin/shell/ShellInterpreterTest.java
----------------------------------------------------------------------
diff --git a/shell/src/test/java/org/apache/zeppelin/shell/ShellInterpreterTest.java b/shell/src/test/java/org/apache/zeppelin/shell/ShellInterpreterTest.java
index 5a8f4b4..f8b702f 100644
--- a/shell/src/test/java/org/apache/zeppelin/shell/ShellInterpreterTest.java
+++ b/shell/src/test/java/org/apache/zeppelin/shell/ShellInterpreterTest.java
@@ -20,15 +20,13 @@ package org.apache.zeppelin.shell;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
import java.util.Properties;
-
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
public class ShellInterpreterTest {
@@ -47,8 +45,7 @@ public class ShellInterpreterTest {
}
@After
- public void tearDown() throws Exception {
- }
+ public void tearDown() throws Exception {}
@Test
public void test() {
@@ -65,7 +62,7 @@ public class ShellInterpreterTest {
}
@Test
- public void testInvalidCommand(){
+ public void testInvalidCommand() {
if (System.getProperty("os.name").startsWith("Windows")) {
result = shell.interpret("invalid_command\ndir", context);
} else {
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
index 239a7fe..7008a14 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/AbstractSparkInterpreter.java
@@ -17,17 +17,15 @@
package org.apache.zeppelin.spark;
+import java.util.Properties;
import org.apache.spark.SparkContext;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SQLContext;
import org.apache.zeppelin.interpreter.Interpreter;
-import org.apache.zeppelin.interpreter.InterpreterContext;
-
-import java.util.Properties;
/**
- * Abstract class for SparkInterpreter. For the purpose of co-exist of NewSparkInterpreter
- * and OldSparkInterpreter
+ * Abstract class for SparkInterpreter. For the purpose of co-exist of NewSparkInterpreter and
+ * OldSparkInterpreter
*/
public abstract class AbstractSparkInterpreter extends Interpreter {
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/spark/interpreter/src/main/java/org/apache/zeppelin/spark/DepInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/DepInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/DepInterpreter.java
index d76b09e..cce73bb 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/DepInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/DepInterpreter.java
@@ -21,8 +21,6 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.PrintStream;
import java.io.PrintWriter;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
@@ -30,19 +28,13 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-
-import com.google.common.reflect.TypeToken;
-import com.google.gson.Gson;
-
import org.apache.commons.lang.StringUtils;
import org.apache.spark.repl.SparkILoop;
import org.apache.zeppelin.interpreter.Interpreter;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterGroup;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterResult.Code;
-import org.apache.zeppelin.interpreter.WrappedInterpreter;
import org.apache.zeppelin.interpreter.thrift.InterpreterCompletion;
import org.apache.zeppelin.scheduler.Scheduler;
import org.apache.zeppelin.spark.dep.SparkDependencyContext;
@@ -50,12 +42,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonatype.aether.resolution.ArtifactResolutionException;
import org.sonatype.aether.resolution.DependencyResolutionException;
-
import scala.Console;
import scala.None;
import scala.Some;
-import scala.collection.convert.WrapAsJava$;
import scala.collection.JavaConversions;
+import scala.collection.convert.WrapAsJava$;
import scala.tools.nsc.Settings;
import scala.tools.nsc.interpreter.Completion.Candidates;
import scala.tools.nsc.interpreter.Completion.ScalaCompleter;
@@ -64,24 +55,22 @@ import scala.tools.nsc.interpreter.Results;
import scala.tools.nsc.settings.MutableSettings.BooleanSetting;
import scala.tools.nsc.settings.MutableSettings.PathSetting;
-
/**
- * DepInterpreter downloads dependencies and pass them when SparkInterpreter initialized.
- * It extends SparkInterpreter but does not create sparkcontext
- *
+ * DepInterpreter downloads dependencies and pass them when SparkInterpreter initialized. It extends
+ * SparkInterpreter but does not create sparkcontext
*/
public class DepInterpreter extends Interpreter {
/**
- * intp - org.apache.spark.repl.SparkIMain (scala 2.10)
- * intp - scala.tools.nsc.interpreter.IMain; (scala 2.11)
+ * intp - org.apache.spark.repl.SparkIMain (scala 2.10) intp - scala.tools.nsc.interpreter.IMain;
+ * (scala 2.11)
*/
private Object intp;
+
private ByteArrayOutputStream out;
private SparkDependencyContext depc;
- /**
- * completer - org.apache.spark.repl.SparkJLineCompletion (scala 2.10)
- */
+ /** completer - org.apache.spark.repl.SparkJLineCompletion (scala 2.10) */
private Object completer;
+
private SparkILoop interpreter;
static final Logger LOGGER = LoggerFactory.getLogger(DepInterpreter.class);
@@ -93,10 +82,7 @@ public class DepInterpreter extends Interpreter {
return depc;
}
- public static String getSystemDefault(
- String envName,
- String propertyName,
- String defaultValue) {
+ public static String getSystemDefault(String envName, String propertyName, String defaultValue) {
if (envName != null && !envName.isEmpty()) {
String envValue = System.getenv().get(envName);
@@ -127,7 +113,6 @@ public class DepInterpreter extends Interpreter {
createIMain();
}
-
private void createIMain() {
Settings settings = new Settings();
URL[] urls = getClassloaderUrls();
@@ -156,8 +141,7 @@ public class DepInterpreter extends Interpreter {
settings.scala$tools$nsc$settings$ScalaSettings$_setter_$classpath_$eq(pathSettings);
// set classloader for scala compiler
- settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread()
- .getContextClassLoader()));
+ settings.explicitParentLoader_$eq(new Some<>(Thread.currentThread().getContextClassLoader()));
BooleanSetting b = (BooleanSetting) settings.usejavacp();
b.v_$eq(true);
@@ -168,7 +152,6 @@ public class DepInterpreter extends Interpreter {
interpreter.createInterpreter();
-
intp = Utils.invokeMethod(interpreter, "intp");
if (Utils.isScala2_10()) {
@@ -176,13 +159,16 @@ public class DepInterpreter extends Interpreter {
Utils.invokeMethod(intp, "initializeSynchronous");
}
- depc = new SparkDependencyContext(getProperty("zeppelin.dep.localrepo"),
- getProperty("zeppelin.dep.additionalRemoteRepository"));
+ depc =
+ new SparkDependencyContext(
+ getProperty("zeppelin.dep.localrepo"),
+ getProperty("zeppelin.dep.additionalRemoteRepository"));
if (Utils.isScala2_10()) {
- completer = Utils.instantiateClass(
- "org.apache.spark.repl.SparkJLineCompletion",
- new Class[]{Utils.findClass("org.apache.spark.repl.SparkIMain")},
- new Object[]{intp});
+ completer =
+ Utils.instantiateClass(
+ "org.apache.spark.repl.SparkJLineCompletion",
+ new Class[] {Utils.findClass("org.apache.spark.repl.SparkIMain")},
+ new Object[] {intp});
}
interpret("@transient var _binder = new java.util.HashMap[String, Object]()");
Map<String, Object> binder;
@@ -193,23 +179,20 @@ public class DepInterpreter extends Interpreter {
}
binder.put("depc", depc);
- interpret("@transient val z = "
- + "_binder.get(\"depc\")"
- + ".asInstanceOf[org.apache.zeppelin.spark.dep.SparkDependencyContext]");
-
+ interpret(
+ "@transient val z = "
+ + "_binder.get(\"depc\")"
+ + ".asInstanceOf[org.apache.zeppelin.spark.dep.SparkDependencyContext]");
}
private Results.Result interpret(String line) {
- return (Results.Result) Utils.invokeMethod(
- intp,
- "interpret",
- new Class[] {String.class},
- new Object[] {line});
+ return (Results.Result)
+ Utils.invokeMethod(intp, "interpret", new Class[] {String.class}, new Object[] {line});
}
public Object getValue(String name) {
- Object ret = Utils.invokeMethod(
- intp, "valueOfTerm", new Class[]{String.class}, new Object[]{name});
+ Object ret =
+ Utils.invokeMethod(intp, "valueOfTerm", new Class[] {String.class}, new Object[] {name});
if (ret instanceof None) {
return null;
} else if (ret instanceof Some) {
@@ -221,8 +204,7 @@ public class DepInterpreter extends Interpreter {
public Object getLastObject() {
IMain.Request r = (IMain.Request) Utils.invokeMethod(intp, "lastRequest");
- Object obj = r.lineRep().call("$result",
- JavaConversions.asScalaBuffer(new LinkedList<>()));
+ Object obj = r.lineRep().call("$result", JavaConversions.asScalaBuffer(new LinkedList<>()));
return obj;
}
@@ -237,10 +219,11 @@ public class DepInterpreter extends Interpreter {
getInterpreterInTheSameSessionByClassName(SparkInterpreter.class, false);
if (sparkInterpreter != null && sparkInterpreter.getDelegation().isSparkContextInitialized()) {
- return new InterpreterResult(Code.ERROR,
- "Must be used before SparkInterpreter (%spark) initialized\n" +
- "Hint: put this paragraph before any Spark code and " +
- "restart Zeppelin/Interpreter" );
+ return new InterpreterResult(
+ Code.ERROR,
+ "Must be used before SparkInterpreter (%spark) initialized\n"
+ + "Hint: put this paragraph before any Spark code and "
+ + "restart Zeppelin/Interpreter");
}
scala.tools.nsc.interpreter.Results.Result ret = interpret(st);
@@ -248,7 +231,8 @@ public class DepInterpreter extends Interpreter {
try {
depc.fetch();
- } catch (MalformedURLException | DependencyResolutionException
+ } catch (MalformedURLException
+ | DependencyResolutionException
| ArtifactResolutionException e) {
LOGGER.error("Exception in DepInterpreter while interpret ", e);
return new InterpreterResult(Code.ERROR, e.toString());
@@ -274,9 +258,7 @@ public class DepInterpreter extends Interpreter {
}
@Override
- public void cancel(InterpreterContext context) {
- }
-
+ public void cancel(InterpreterContext context) {}
@Override
public FormType getFormType() {
@@ -289,8 +271,8 @@ public class DepInterpreter extends Interpreter {
}
@Override
- public List<InterpreterCompletion> completion(String buf, int cursor,
- InterpreterContext interpreterContext) {
+ public List<InterpreterCompletion> completion(
+ String buf, int cursor, InterpreterContext interpreterContext) {
if (Utils.isScala2_10()) {
ScalaCompleter c = (ScalaCompleter) Utils.invokeMethod(completer, "completer");
Candidates ret = c.complete(buf, cursor);
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
index 7589895..9f43377 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/IPySparkInterpreter.java
@@ -17,6 +17,9 @@
package org.apache.zeppelin.spark;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.zeppelin.interpreter.BaseZeppelinContext;
@@ -27,13 +30,7 @@ import org.apache.zeppelin.python.IPythonInterpreter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * PySparkInterpreter which use IPython underlying.
- */
+/** PySparkInterpreter which use IPython underlying. */
public class IPySparkInterpreter extends IPythonInterpreter {
private static final Logger LOGGER = LoggerFactory.getLogger(IPySparkInterpreter.class);
@@ -50,19 +47,19 @@ public class IPySparkInterpreter extends IPythonInterpreter {
getInterpreterInTheSameSessionByClassName(PySparkInterpreter.class, false);
setProperty("zeppelin.python", pySparkInterpreter.getPythonExec());
sparkInterpreter = getInterpreterInTheSameSessionByClassName(SparkInterpreter.class);
- setProperty("zeppelin.py4j.useAuth",
- sparkInterpreter.getSparkVersion().isSecretSocketSupported() + "");
+ setProperty(
+ "zeppelin.py4j.useAuth", sparkInterpreter.getSparkVersion().isSecretSocketSupported() + "");
SparkConf conf = sparkInterpreter.getSparkContext().getConf();
// only set PYTHONPATH in embedded, local or yarn-client mode.
// yarn-cluster will setup PYTHONPATH automatically.
- if (!conf.contains("spark.submit.deployMode") ||
- !conf.get("spark.submit.deployMode").equals("cluster")) {
+ if (!conf.contains("spark.submit.deployMode")
+ || !conf.get("spark.submit.deployMode").equals("cluster")) {
setAdditionalPythonPath(PythonUtils.sparkPythonPath());
}
setAddBulitinPy4j(false);
setAdditionalPythonInitFile("python/zeppelin_ipyspark.py");
- setProperty("zeppelin.py4j.useAuth",
- sparkInterpreter.getSparkVersion().isSecretSocketSupported() + "");
+ setProperty(
+ "zeppelin.py4j.useAuth", sparkInterpreter.getSparkVersion().isSecretSocketSupported() + "");
super.open();
}
@@ -87,7 +84,7 @@ public class IPySparkInterpreter extends IPythonInterpreter {
InterpreterContext.set(context);
String jobGroupId = Utils.buildJobGroupId(context);
String jobDesc = Utils.buildJobDesc(context);
- String setJobGroupStmt = "sc.setJobGroup('" + jobGroupId + "', '" + jobDesc + "')";
+ String setJobGroupStmt = "sc.setJobGroup('" + jobGroupId + "', '" + jobDesc + "')";
InterpreterResult result = super.interpret(setJobGroupStmt, context);
if (result.code().equals(InterpreterResult.Code.ERROR)) {
return new InterpreterResult(InterpreterResult.Code.ERROR, "Fail to setJobGroup");
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
----------------------------------------------------------------------
diff --git a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
index 23e6dad..031fff4 100644
--- a/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
+++ b/spark/interpreter/src/main/java/org/apache/zeppelin/spark/NewSparkInterpreter.java
@@ -18,6 +18,13 @@
package org.apache.zeppelin.spark;
import com.google.common.collect.Lists;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.spark.SparkConf;
@@ -33,17 +40,9 @@ import org.apache.zeppelin.spark.dep.SparkDependencyContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
/**
- * SparkInterpreter of Java implementation. It is just wrapper of Spark211Interpreter
- * and Spark210Interpreter.
+ * SparkInterpreter of Java implementation. It is just wrapper of Spark211Interpreter and
+ * Spark210Interpreter.
*/
public class NewSparkInterpreter extends AbstractSparkInterpreter {
@@ -64,11 +63,11 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
private static InterpreterHookRegistry hooks;
-
public NewSparkInterpreter(Properties properties) {
super(properties);
- this.enableSupportedVersionCheck = java.lang.Boolean.parseBoolean(
- properties.getProperty("zeppelin.spark.enableSupportedVersionCheck", "true"));
+ this.enableSupportedVersionCheck =
+ java.lang.Boolean.parseBoolean(
+ properties.getProperty("zeppelin.spark.enableSupportedVersionCheck", "true"));
innerInterpreterClassMap.put("2.10", "org.apache.zeppelin.spark.SparkScala210Interpreter");
innerInterpreterClassMap.put("2.11", "org.apache.zeppelin.spark.SparkScala211Interpreter");
}
@@ -98,19 +97,25 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
String innerIntpClassName = innerInterpreterClassMap.get(scalaVersion);
Class clazz = Class.forName(innerIntpClassName);
- this.innerInterpreter = (BaseSparkScalaInterpreter)
- clazz.getConstructor(SparkConf.class, List.class, Boolean.class)
- .newInstance(conf, getDependencyFiles(),
- Boolean.parseBoolean(getProperty("zeppelin.spark.printREPLOutput", "true")));
+ this.innerInterpreter =
+ (BaseSparkScalaInterpreter)
+ clazz
+ .getConstructor(SparkConf.class, List.class, Boolean.class)
+ .newInstance(
+ conf,
+ getDependencyFiles(),
+ Boolean.parseBoolean(getProperty("zeppelin.spark.printREPLOutput", "true")));
this.innerInterpreter.open();
sc = this.innerInterpreter.sc();
jsc = JavaSparkContext.fromSparkContext(sc);
sparkVersion = SparkVersion.fromVersionString(sc.version());
if (enableSupportedVersionCheck && sparkVersion.isUnsupportedVersion()) {
- throw new Exception("This is not officially supported spark version: " + sparkVersion
- + "\nYou can set zeppelin.spark.enableSupportedVersionCheck to false if you really" +
- " want to try this version of spark.");
+ throw new Exception(
+ "This is not officially supported spark version: "
+ + sparkVersion
+ + "\nYou can set zeppelin.spark.enableSupportedVersionCheck to false if you really"
+ + " want to try this version of spark.");
}
sqlContext = this.innerInterpreter.sqlContext();
sparkSession = this.innerInterpreter.sparkSession();
@@ -123,10 +128,11 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
sparkShims = SparkShims.getInstance(sc.version(), getProperties());
sparkShims.setupSparkListener(sc.master(), sparkUrl, InterpreterContext.get());
- z = new SparkZeppelinContext(sc, sparkShims, hooks,
- Integer.parseInt(getProperty("zeppelin.spark.maxResult")));
- this.innerInterpreter.bind("z", z.getClass().getCanonicalName(), z,
- Lists.newArrayList("@transient"));
+ z =
+ new SparkZeppelinContext(
+ sc, sparkShims, hooks, Integer.parseInt(getProperty("zeppelin.spark.maxResult")));
+ this.innerInterpreter.bind(
+ "z", z.getClass().getCanonicalName(), z, Lists.newArrayList("@transient"));
} catch (Exception e) {
LOGGER.error("Fail to open SparkInterpreter", ExceptionUtils.getStackTrace(e));
throw new InterpreterException("Fail to open SparkInterpreter", e);
@@ -162,9 +168,8 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
}
@Override
- public List<InterpreterCompletion> completion(String buf,
- int cursor,
- InterpreterContext interpreterContext) {
+ public List<InterpreterCompletion> completion(
+ String buf, int cursor, InterpreterContext interpreterContext) {
LOGGER.debug("buf: " + buf + ", cursor:" + cursor);
return innerInterpreter.completion(buf, cursor, interpreterContext);
}
@@ -220,8 +225,9 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
private List<String> getDependencyFiles() throws InterpreterException {
List<String> depFiles = new ArrayList<>();
// add jar from DepInterpreter
- DepInterpreter depInterpreter = getParentSparkInterpreter().
- getInterpreterInTheSameSessionByClassName(DepInterpreter.class, false);
+ DepInterpreter depInterpreter =
+ getParentSparkInterpreter()
+ .getInterpreterInTheSameSessionByClassName(DepInterpreter.class, false);
if (depInterpreter != null) {
SparkDependencyContext depc = depInterpreter.getDependencyContext();
if (depc != null) {
@@ -257,6 +263,6 @@ public class NewSparkInterpreter extends AbstractSparkInterpreter {
@Override
public boolean isUnsupportedSparkVersion() {
- return enableSupportedVersionCheck && sparkVersion.isUnsupportedVersion();
+ return enableSupportedVersionCheck && sparkVersion.isUnsupportedVersion();
}
}