You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pd...@apache.org on 2020/11/13 09:05:33 UTC
[zeppelin] branch branch-0.9 updated: [ZEPPELIN-5130] Improve code
style
This is an automated email from the ASF dual-hosted git repository.
pdallig pushed a commit to branch branch-0.9
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/branch-0.9 by this push:
new a1be69d [ZEPPELIN-5130] Improve code style
a1be69d is described below
commit a1be69d8e3cbfa1b0c858a433c02f6ae7465a0e8
Author: Philipp Dallig <ph...@gmail.com>
AuthorDate: Wed Nov 11 10:05:50 2020 +0100
[ZEPPELIN-5130] Improve code style
### What is this PR for?
This PR improves the code, but should not change functionality.
- Improve `LOGGER` usage
- Remove unused imports
- Remove deprecated function calls e.g. FileUtils.read/write without a charset
- closing of DirectoryStream with try-with-resource
- Correct use of 'AssertEquals()', first value is the expected value
### What type of PR is it?
- Maintenance
### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-5130
### How should this be tested?
* Travis-CI: https://travis-ci.com/github/Reamer/zeppelin/builds/200313561
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Philipp Dallig <ph...@gmail.com>
Closes #3969 from Reamer/style_changes and squashes the following commits:
273364de7 [Philipp Dallig] code changes
(cherry picked from commit 561a467c1357f77bc11071e17b7c1c235e7770fa)
Signed-off-by: Philipp Dallig <ph...@gmail.com>
---
.../zeppelin/conf/ZeppelinConfiguration.java | 4 +-
.../main/java/org/apache/zeppelin/dep/Booter.java | 4 -
.../org/apache/zeppelin/display/AngularObject.java | 11 +-
zeppelin-server/pom.xml | 4 -
.../org/apache/zeppelin/server/ZeppelinServer.java | 6 +-
.../apache/zeppelin/rest/ZeppelinServerTest.java | 23 --
.../zeppelin/helium/HeliumApplicationFactory.java | 1 -
.../zeppelin/helium/HeliumBundleFactory.java | 51 +++--
.../zeppelin/helium/HeliumLocalRegistry.java | 11 +-
.../org/apache/zeppelin/helium/HeliumRegistry.java | 1 -
.../zeppelin/helium/HeliumRegistrySerializer.java | 5 +-
.../zeppelin/interpreter/InterpreterFactory.java | 3 -
.../interpreter/InterpreterInfoSaving.java | 5 +-
.../zeppelin/interpreter/InterpreterSetting.java | 4 +-
.../interpreter/InterpreterSettingManager.java | 40 ++--
.../interpreter/ManagedInterpreterGroup.java | 16 +-
.../interpreter/RemoteInterpreterEventServer.java | 24 +-
.../interpreter/SessionConfInterpreter.java | 2 +-
.../zeppelin/interpreter/YarnAppMonitor.java | 7 +-
.../interpreter/install/InstallInterpreter.java | 3 +-
.../launcher/SparkInterpreterLauncher.java | 47 ++--
.../launcher/StandardInterpreterLauncher.java | 4 +-
.../interpreter/recovery/StopInterpreter.java | 6 +-
.../interpreter/remote/AppendOutputRunner.java | 22 +-
.../remote/RemoteAngularObjectRegistry.java | 6 +-
.../interpreter/remote/RemoteInterpreter.java | 15 +-
.../remote/RemoteInterpreterManagedProcess.java | 5 +-
.../remote/RemoteInterpreterProcess.java | 8 +-
.../remote/RemoteInterpreterRunningProcess.java | 1 -
.../apache/zeppelin/notebook/ApplicationState.java | 7 +-
.../zeppelin/notebook/AuthorizationService.java | 8 +-
.../zeppelin/notebook/FileSystemStorage.java | 14 +-
.../java/org/apache/zeppelin/notebook/Note.java | 27 ++-
.../org/apache/zeppelin/notebook/NoteAuth.java | 2 +-
.../org/apache/zeppelin/notebook/NoteManager.java | 18 +-
.../org/apache/zeppelin/notebook/Notebook.java | 23 +-
.../org/apache/zeppelin/notebook/Paragraph.java | 4 +-
.../zeppelin/notebook/ParagraphTextParser.java | 2 +-
.../zeppelin/notebook/repo/NotebookRepoSync.java | 67 +++---
.../repo/NotebookRepoWithVersionControl.java | 12 +-
.../zeppelin/notebook/repo/OldNotebookRepo.java | 1 -
.../zeppelin/notebook/repo/OldVFSNotebookRepo.java | 18 +-
.../zeppelin/notebook/repo/VFSNotebookRepo.java | 16 +-
.../repo/zeppelinhub/websocket/ZeppelinClient.java | 2 +-
.../zeppelinhub/websocket/ZeppelinhubClient.java | 65 +++---
.../websocket/listener/ZeppelinWebsocket.java | 12 +-
.../websocket/listener/ZeppelinhubWebsocket.java | 14 +-
.../websocket/protocol/ZeppelinhubMessage.java | 15 +-
.../websocket/scheduler/ZeppelinHeartbeat.java | 8 +-
.../websocket/scheduler/ZeppelinHubHeartbeat.java | 4 +-
.../websocket/session/ZeppelinhubSession.java | 6 +-
.../websocket/utils/ZeppelinhubUtils.java | 34 +--
.../zeppelin/notebook/scheduler/CronJob.java | 7 +-
.../notebook/scheduler/QuartzSchedulerService.java | 8 +-
.../org/apache/zeppelin/plugin/PluginManager.java | 26 +--
.../org/apache/zeppelin/search/LuceneSearch.java | 60 ++---
.../org/apache/zeppelin/storage/ConfigStorage.java | 3 +-
.../java/org/apache/zeppelin/user/Credentials.java | 4 +-
.../zeppelin/user/CredentialsInfoSaving.java | 6 +-
.../java/org/apache/zeppelin/util/FileUtils.java | 9 +-
.../org/apache/zeppelin/util/ReflectionUtils.java | 25 +-
.../helium/HeliumApplicationFactoryTest.java | 3 +-
.../interpreter/InterpreterSettingManagerTest.java | 1 -
.../interpreter/ManagedInterpreterGroupTest.java | 4 -
.../install/InstallInterpreterTest.java | 3 +-
.../interpreter/integration/DownloadUtils.java | 5 +-
.../lifecycle/TimeoutLifecycleManagerTest.java | 3 +-
.../interpreter/remote/AppendOutputRunnerTest.java | 4 +-
.../interpreter/remote/RemoteInterpreterTest.java | 2 +-
.../org/apache/zeppelin/notebook/NotebookTest.java | 255 ++++++++++-----------
.../apache/zeppelin/notebook/ParagraphTest.java | 16 +-
.../resource/DistributedResourcePoolTest.java | 5 +-
.../zeppelin/scheduler/RemoteSchedulerTest.java | 8 +-
.../zeppelin/storage/LocalConfigStorageTest.java | 5 +-
74 files changed, 545 insertions(+), 635 deletions(-)
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java
index ee842e1..826e252 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java
@@ -679,8 +679,8 @@ public class ZeppelinConfiguration extends XMLConfiguration {
public String getConfigFSDir(boolean absolute) {
String fsConfigDir = getString(ConfVars.ZEPPELIN_CONFIG_FS_DIR);
if (StringUtils.isBlank(fsConfigDir)) {
- LOG.warn(ConfVars.ZEPPELIN_CONFIG_FS_DIR.varName + " is not specified, fall back to local " +
- "conf directory " + ConfVars.ZEPPELIN_CONF_DIR.varName);
+ LOG.warn("{} is not specified, fall back to local conf directory {}",
+ ConfVars.ZEPPELIN_CONFIG_FS_DIR.varName, ConfVars.ZEPPELIN_CONF_DIR.varName);
if (absolute) {
return getConfDir();
} else {
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/dep/Booter.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/dep/Booter.java
index 0dfdf16..bf5e1da 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/dep/Booter.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/dep/Booter.java
@@ -23,16 +23,12 @@ import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.LocalRepository;
import org.eclipse.aether.repository.Proxy;
import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.util.repository.AuthenticationBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.nio.file.Paths;
/**
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/AngularObject.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/AngularObject.java
index f3238f4..2d01a31 100644
--- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/AngularObject.java
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/display/AngularObject.java
@@ -41,11 +41,11 @@ public class AngularObject<T> implements JsonSerializable {
private String name;
private T object;
-
+
private transient AngularObjectListener listener;
private transient List<AngularObjectWatcher> watchers = new LinkedList<>();
-
- private String noteId; // noteId belonging to. null for global scope
+
+ private String noteId; // noteId belonging to. null for global scope
private String paragraphId; // paragraphId belongs to. null for notebook scope
/**
@@ -177,7 +177,7 @@ public class AngularObject<T> implements JsonSerializable {
if (emit) {
emit();
}
- LOGGER.debug("Update angular object: " + name + " with value: " + o);
+ LOGGER.debug("Update angular object: {} with value: {}", name, o);
final Logger logger = LoggerFactory.getLogger(AngularObject.class);
List<AngularObjectWatcher> ws = new LinkedList<>();
synchronized (watchers) {
@@ -257,11 +257,12 @@ public class AngularObject<T> implements JsonSerializable {
return sb.toString();
}
+ @Override
public String toJson() {
return GSON.toJson(this);
}
- public static AngularObject fromJson(String json) {
+ public static AngularObject<?> fromJson(String json) {
return GSON.fromJson(json, AngularObject.class);
}
}
diff --git a/zeppelin-server/pom.xml b/zeppelin-server/pom.xml
index d6affe0..78e3719 100644
--- a/zeppelin-server/pom.xml
+++ b/zeppelin-server/pom.xml
@@ -45,8 +45,6 @@
<!--test library versions-->
<selenium.java.version>2.48.2</selenium.java.version>
<xml.apis.version>1.4.01</xml.apis.version>
- <powermock.version>1.6.6</powermock.version>
-
</properties>
<dependencies>
@@ -353,7 +351,6 @@
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
- <version>${powermock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
@@ -365,7 +362,6 @@
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
- <version>${powermock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
index 446c4d6..ce05735 100644
--- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
+++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java
@@ -579,7 +579,7 @@ public class ZeppelinServer extends ResourceConfig {
return new DefaultServlet() {
private static final long serialVersionUID = 1L;
-
+
@Override
public Resource getResource(String pathInContext) {
@@ -591,9 +591,9 @@ public class ZeppelinServer extends ResourceConfig {
// create the altered 'index.html' resource and cache it via webapp attributes
if (webApp.getAttribute(HTML_ADDON_IDENTIFIER) == null) {
webApp.setAttribute(
- HTML_ADDON_IDENTIFIER,
+ HTML_ADDON_IDENTIFIER,
new HtmlAddonResource(
- super.getResource(pathInContext),
+ super.getResource(pathInContext),
conf.getHtmlBodyAddon(),
conf.getHtmlHeadAddon()));
}
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinServerTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinServerTest.java
deleted file mode 100644
index 76a0758..0000000
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinServerTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.zeppelin.rest;
-
-public class ZeppelinServerTest extends AbstractTestRestApi {
-
-
-}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
index 7106f45..c558c37 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumApplicationFactory.java
@@ -28,7 +28,6 @@ import org.apache.zeppelin.interpreter.ManagedInterpreterGroup;
import org.apache.zeppelin.interpreter.remote.RemoteAngularObjectRegistry;
import org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess;
import org.apache.zeppelin.interpreter.thrift.RemoteApplicationResult;
-import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService;
import org.apache.zeppelin.notebook.ApplicationState;
import org.apache.zeppelin.notebook.Note;
import org.apache.zeppelin.notebook.NoteEventListener;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
index 4009c37..9dff079 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumBundleFactory.java
@@ -25,7 +25,6 @@ import com.github.eirslett.maven.plugins.frontend.lib.ProxyConfig;
import com.github.eirslett.maven.plugins.frontend.lib.TaskRunnerException;
import com.github.eirslett.maven.plugins.frontend.lib.YarnInstaller;
import com.github.eirslett.maven.plugins.frontend.lib.YarnRunner;
-import com.google.common.base.Charsets;
import com.google.common.io.Resources;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
@@ -42,6 +41,7 @@ import java.io.IOException;
import java.io.OutputStream;
import java.io.StringReader;
import java.net.URI;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -69,7 +69,7 @@ import org.slf4j.LoggerFactory;
* Load helium visualization & spell
*/
public class HeliumBundleFactory {
- private Logger logger = LoggerFactory.getLogger(HeliumBundleFactory.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(HeliumBundleFactory.class);
private static final String NODE_VERSION = "v6.9.1";
private static final String NPM_VERSION = "3.10.8";
private static final String YARN_VERSION = "v0.21.3";
@@ -165,7 +165,7 @@ public class HeliumBundleFactory {
configureLogger();
nodeAndNpmInstalled = true;
} catch (InstallationException e) {
- logger.error(e.getMessage(), e);
+ LOGGER.error(e.getMessage(), e);
}
}
@@ -184,7 +184,7 @@ public class HeliumBundleFactory {
else if (!isSecure && StringUtils.isNotBlank(httpProxy))
proxies.add(generateProxy("insecure", new URI(httpProxy)));
} catch (Exception ex) {
- logger.error(ex.getMessage(), ex);
+ LOGGER.error(ex.getMessage(), ex);
}
return new ProxyConfig(proxies);
}
@@ -195,7 +195,8 @@ public class HeliumBundleFactory {
String host = uri.getHost();
int port = uri.getPort() <= 0 ? 80 : uri.getPort();
- String username = null, password = null;
+ String username = null;
+ String password = null;
if (uri.getUserInfo() != null) {
String[] authority = uri.getUserInfo().split(":");
if (authority.length == 2) {
@@ -294,7 +295,7 @@ public class HeliumBundleFactory {
File extracted = new File(heliumBundleDirectory, "package");
FileUtils.deleteDirectory(extracted);
List<String> entries = unTgz(tgz, heliumBundleDirectory);
- for (String entry: entries) logger.debug("Extracted " + entry);
+ for (String entry: entries) LOGGER.debug("Extracted " + entry);
tgz.delete();
FileUtils.copyDirectory(extracted, bundleDir);
FileUtils.deleteDirectory(extracted);
@@ -331,10 +332,10 @@ public class HeliumBundleFactory {
templatePackageJson = templatePackageJson.replaceFirst("PACKAGE_NAME", pkg.getName());
templatePackageJson = templatePackageJson.replaceFirst("MAIN_FILE", mainFileName);
templatePackageJson = templatePackageJson.replaceFirst("DEPENDENCIES", dependencies.toString());
- FileUtils.write(new File(bundleDir, PACKAGE_JSON), templatePackageJson);
+ FileUtils.write(new File(bundleDir, PACKAGE_JSON), templatePackageJson, StandardCharsets.UTF_8);
// 2. setup webpack.config
- FileUtils.write(new File(bundleDir, "webpack.config.js"), templateWebpackConfig);
+ FileUtils.write(new File(bundleDir, "webpack.config.js"), templateWebpackConfig, StandardCharsets.UTF_8);
return mainFileName;
}
@@ -366,7 +367,7 @@ public class HeliumBundleFactory {
File srcDir = getHeliumPackageSourceDirectory(pkg.getName());
FileUtils.forceMkdir(srcDir);
FileUtils.write(new File(srcDir, HELIUM_BUNDLES_SRC),
- loadJsImport.append(loadJsRegister).toString());
+ loadJsImport.append(loadJsRegister).toString(), StandardCharsets.UTF_8);
}
private synchronized void installNodeModules(FrontendPluginFactory fpf) throws IOException {
@@ -376,9 +377,9 @@ public class HeliumBundleFactory {
String.format("install --fetch-retries=%d --fetch-retry-factor=%d " +
"--fetch-retry-mintimeout=%d",
FETCH_RETRY_COUNT, FETCH_RETRY_FACTOR_COUNT, FETCH_RETRY_MIN_TIMEOUT);
- logger.info("Installing required node modules");
+ LOGGER.info("Installing required node modules");
yarnCommand(fpf, commandForNpmInstall);
- logger.info("Installed required node modules");
+ LOGGER.info("Installed required node modules");
} catch (TaskRunnerException e) {
throw new IOException(e);
}
@@ -388,9 +389,9 @@ public class HeliumBundleFactory {
File bundleDir) throws IOException {
try {
out.reset();
- logger.info("Bundling helium packages");
+ LOGGER.info("Bundling helium packages");
yarnCommand(fpf, "run bundle");
- logger.info("Bundled helium packages");
+ LOGGER.info("Bundled helium packages");
} catch (TaskRunnerException e) {
throw new IOException(new String(out.toByteArray()));
}
@@ -420,7 +421,7 @@ public class HeliumBundleFactory {
String[] moduleNameVersion = getNpmModuleNameAndVersion(pkg);
if (moduleNameVersion == null) {
- logger.warn("Can't get module name and version of package " + pkg.getName());
+ LOGGER.warn("Can't get module name and version of package {}", pkg.getName());
return null;
}
@@ -449,9 +450,9 @@ public class HeliumBundleFactory {
// resources: webpack.js, package.json
String templateWebpackConfig = Resources.toString(
- Resources.getResource("helium/webpack.config.js"), Charsets.UTF_8);
+ Resources.getResource("helium/webpack.config.js"), StandardCharsets.UTF_8);
String templatePackageJson = Resources.toString(
- Resources.getResource("helium/" + PACKAGE_JSON), Charsets.UTF_8);
+ Resources.getResource("helium/" + PACKAGE_JSON), StandardCharsets.UTF_8);
// 2. download helium package using `npm pack`
String mainFileName = null;
@@ -480,7 +481,7 @@ public class HeliumBundleFactory {
private synchronized void buildAllPackages(List<HeliumPackage> pkgs, boolean rebuild)
throws IOException {
- if (pkgs == null || pkgs.size() == 0) {
+ if (pkgs == null || pkgs.isEmpty()) {
return;
}
@@ -491,7 +492,7 @@ public class HeliumBundleFactory {
try {
buildPackage(pkg, rebuild, recopyLocalModules);
} catch (IOException e) {
- logger.error("Failed to build helium package: " + pkg.getArtifact(), e);
+ LOGGER.error("Failed to build helium package: {}", pkg.getArtifact(), e);
}
}
}
@@ -578,7 +579,7 @@ public class HeliumBundleFactory {
boolean webpackRunDetected = false;
boolean resultJsonDetected = false;
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
try {
String next, line = reader.readLine();
for (boolean last = (line == null); !last; line = next) {
@@ -609,7 +610,7 @@ public class HeliumBundleFactory {
}
return WebpackResult.fromJson(sb.toString());
} catch (IOException e) {
- logger.error(e.getMessage(), e);
+ LOGGER.error(e.getMessage(), e);
return new WebpackResult();
}
}
@@ -628,14 +629,14 @@ public class HeliumBundleFactory {
}
try {
NpmPackage npmPackage = NpmPackage.fromJson(
- FileUtils.readFileToString(packageJson));
+ FileUtils.readFileToString(packageJson, StandardCharsets.UTF_8));
String[] nameVersion = new String[2];
nameVersion[0] = npmPackage.name;
nameVersion[1] = npmPackage.version;
return nameVersion;
} catch (IOException e) {
- logger.error(e.getMessage(), e);
+ LOGGER.error(e.getMessage(), e);
return null;
}
} else {
@@ -667,7 +668,7 @@ public class HeliumBundleFactory {
}
private void npmCommand(String args) throws TaskRunnerException {
- npmCommand(args, new HashMap<String, String>());
+ npmCommand(args, new HashMap<>());
}
private void npmCommand(String args, Map<String, String> env) throws TaskRunnerException {
@@ -677,11 +678,11 @@ public class HeliumBundleFactory {
}
private void npmCommand(FrontendPluginFactory fpf, String args) throws TaskRunnerException {
- npmCommand(args, new HashMap<String, String>());
+ npmCommand(args, new HashMap<>());
}
private void yarnCommand(FrontendPluginFactory fpf, String args) throws TaskRunnerException {
- yarnCommand(fpf, args, new HashMap<String, String>());
+ yarnCommand(fpf, args, new HashMap<>());
}
private void yarnCommand(FrontendPluginFactory fpf,
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
index 7328dca..31db3e4 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumLocalRegistry.java
@@ -25,6 +25,7 @@ import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
import java.util.LinkedList;
import java.util.List;
@@ -32,14 +33,12 @@ import java.util.List;
* Simple Helium registry on local filesystem
*/
public class HeliumLocalRegistry extends HeliumRegistry {
- private Logger logger = LoggerFactory.getLogger(HeliumLocalRegistry.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(HeliumLocalRegistry.class);
- private final Gson gson;
+ private static final Gson gson = new Gson();
public HeliumLocalRegistry(String name, String uri) {
super(name, uri);
- gson = new Gson();
-
}
@Override
@@ -67,12 +66,12 @@ public class HeliumLocalRegistry extends HeliumRegistry {
private HeliumPackage readPackageInfo(File f) {
try {
- JsonReader reader = new JsonReader(new StringReader(FileUtils.readFileToString(f)));
+ JsonReader reader = new JsonReader(new StringReader(FileUtils.readFileToString(f, StandardCharsets.UTF_8)));
reader.setLenient(true);
return gson.fromJson(reader, HeliumPackage.class);
} catch (IOException e) {
- logger.error(e.getMessage(), e);
+ LOGGER.error(e.getMessage(), e);
return null;
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
index 125ad92..13b4325 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistry.java
@@ -17,7 +17,6 @@
package org.apache.zeppelin.helium;
import java.io.IOException;
-import java.net.URI;
import java.util.List;
/**
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
index 3abcb9f..91c747f 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/helium/HeliumRegistrySerializer.java
@@ -23,8 +23,6 @@ import org.slf4j.LoggerFactory;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
-import java.net.URI;
-import java.net.URISyntaxException;
/**
* HeliumRegistrySerializer (and deserializer) for gson
@@ -48,8 +46,7 @@ public class HeliumRegistrySerializer
Class<HeliumRegistry> cls =
(Class<HeliumRegistry>) getClass().getClassLoader().loadClass(className);
Constructor<HeliumRegistry> constructor = cls.getConstructor(String.class, String.class);
- HeliumRegistry registry = constructor.newInstance(name, uri);
- return registry;
+ return constructor.newInstance(name, uri);
} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException |
InstantiationException | InvocationTargetException e) {
logger.error(e.getMessage(), e);
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
index d5b8f81..155465f 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java
@@ -19,8 +19,6 @@ package org.apache.zeppelin.interpreter;
import javax.inject.Inject;
import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* //TODO(zjffdu) considering to move to InterpreterSettingManager
@@ -29,7 +27,6 @@ import org.slf4j.LoggerFactory;
*
*/
public class InterpreterFactory implements InterpreterFactoryInterface {
- private static final Logger LOGGER = LoggerFactory.getLogger(InterpreterFactory.class);
private final InterpreterSettingManager interpreterSettingManager;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterInfoSaving.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterInfoSaving.java
index 80051d0..4ecb9c7 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterInfoSaving.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterInfoSaving.java
@@ -66,8 +66,7 @@ public class InterpreterInfoSaving implements JsonSerializable {
LOGGER.info("Load interpreter setting from file: {}", file);
InterpreterInfoSaving infoSaving = null;
try (BufferedReader json = Files.newBufferedReader(file, StandardCharsets.UTF_8)) {
- JsonParser jsonParser = new JsonParser();
- JsonObject jsonObject = jsonParser.parse(json).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseReader(json).getAsJsonObject();
infoSaving = InterpreterInfoSaving.fromJson(jsonObject.toString());
if (infoSaving != null && infoSaving.interpreterSettings != null) {
@@ -106,6 +105,7 @@ public class InterpreterInfoSaving implements JsonSerializable {
}
static class InterfaceAdapter<T> implements JsonSerializer<T>, JsonDeserializer<T> {
+ @Override
public JsonElement serialize(T object, Type interfaceType, JsonSerializationContext context) {
final JsonObject wrapper = new JsonObject();
wrapper.addProperty("type", object.getClass().getName());
@@ -113,6 +113,7 @@ public class InterpreterInfoSaving implements JsonSerializable {
return wrapper;
}
+ @Override
public T deserialize(JsonElement elem,
Type interfaceType,
JsonDeserializationContext context) throws JsonParseException {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
index 487cf4d..2b5cb9a 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSetting.java
@@ -480,7 +480,7 @@ public class InterpreterSetting {
interpreterGroupReadLock.lock();
return interpreterGroups.get(groupId);
} finally {
- interpreterGroupReadLock.unlock();;
+ interpreterGroupReadLock.unlock();
}
}
@@ -731,7 +731,7 @@ public class InterpreterSetting {
}
public void setStatus(Status status) {
- LOGGER.info("Set interpreter {} status to{}", name, status.name());
+ LOGGER.info("Set interpreter {} status to {}", name, status);
this.status = status;
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
index da6cc18..985cb47 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
@@ -81,6 +81,7 @@ import java.lang.reflect.Type;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -187,7 +188,7 @@ public class InterpreterSettingManager implements NoteEventListener, ClusterEven
new Class[] {ZeppelinConfiguration.class, InterpreterSettingManager.class},
new Object[] {conf, this});
- LOGGER.info("Using RecoveryStorage: " + this.recoveryStorage.getClass().getName());
+ LOGGER.info("Using RecoveryStorage: {}", this.recoveryStorage.getClass().getName());
this.configStorage = configStorage;
init();
@@ -379,24 +380,24 @@ public class InterpreterSettingManager implements NoteEventListener, ClusterEven
String interpreterJson = conf.getInterpreterJson();
ClassLoader cl = Thread.currentThread().getContextClassLoader();
if (Files.exists(interpreterDirPath)) {
- for (Path interpreterDir : Files
- .newDirectoryStream(interpreterDirPath,
- entry -> Files.exists(entry)
- && Files.isDirectory(entry)
- && shouldRegister(entry.toFile().getName()))) {
-
- String interpreterDirString = interpreterDir.toString();
- /**
- * Register interpreter by the following ordering
- * 1. Register it from path {ZEPPELIN_HOME}/interpreter/{interpreter_name}/
- * interpreter-setting.json
- * 2. Register it from interpreter-setting.json in classpath
- * {ZEPPELIN_HOME}/interpreter/{interpreter_name}
- */
- if (!registerInterpreterFromPath(interpreterDirString, interpreterJson, override)) {
- if (!registerInterpreterFromResource(cl, interpreterDirString, interpreterJson,
- override)) {
- LOGGER.warn("No interpreter-setting.json found in " + interpreterDirString);
+ try (DirectoryStream<Path> directoryPaths = Files
+ .newDirectoryStream(interpreterDirPath,
+ entry -> Files.exists(entry)
+ && Files.isDirectory(entry)
+ && shouldRegister(entry.toFile().getName()))) {
+ for (Path interpreterDir : directoryPaths) {
+
+ String interpreterDirString = interpreterDir.toString();
+ /**
+ * Register interpreter by the following ordering
+ * 1. Register it from path {ZEPPELIN_HOME}/interpreter/{interpreter_name}/
+ * interpreter-setting.json
+ * 2. Register it from interpreter-setting.json in classpath
+ * {ZEPPELIN_HOME}/interpreter/{interpreter_name}
+ */
+ if (!registerInterpreterFromPath(interpreterDirString, interpreterJson, override) &&
+ !registerInterpreterFromResource(cl, interpreterDirString, interpreterJson, override)) {
+ LOGGER.warn("No interpreter-setting.json found in {}", interpreterDirString);
}
}
}
@@ -1163,7 +1164,6 @@ public class InterpreterSettingManager implements NoteEventListener, ClusterEven
}
try {
- Gson gson = new Gson();
ClusterMessage message = ClusterMessage.deserializeMessage(msg);
String jsonIntpSetting = message.get("intpSetting");
InterpreterSetting intpSetting = InterpreterSetting.fromJson(jsonIntpSetting);
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroup.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroup.java
index 1a9ea80..3e6e23d 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroup.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroup.java
@@ -62,7 +62,7 @@ public class ManagedInterpreterGroup extends InterpreterGroup {
throws IOException {
synchronized (interpreterProcessCreationLock) {
if (remoteInterpreterProcess == null) {
- LOGGER.info("Create InterpreterProcess for InterpreterGroup: " + getId());
+ LOGGER.info("Create InterpreterProcess for InterpreterGroup: {}", getId());
remoteInterpreterProcess = interpreterSetting.createInterpreterProcess(id, userName,
properties);
remoteInterpreterProcess.start(userName);
@@ -86,8 +86,9 @@ public class ManagedInterpreterGroup extends InterpreterGroup {
/**
* Close all interpreter instances in this group
*/
+ @Override
public void close() {
- LOGGER.info("Close InterpreterGroup: " + id);
+ LOGGER.info("Close InterpreterGroup: {}", id);
for (String sessionId : sessions.keySet()) {
close(sessionId);
}
@@ -98,8 +99,7 @@ public class ManagedInterpreterGroup extends InterpreterGroup {
* @param sessionId
*/
public synchronized void close(String sessionId) {
- LOGGER.info("Close Session: " + sessionId + " for interpreter setting: " +
- interpreterSetting.getName());
+ LOGGER.info("Close Session: {} for interpreter setting: {}", sessionId, interpreterSetting.getName());
close(sessions.remove(sessionId));
//TODO(zjffdu) whether close InterpreterGroup if there's no session left in Zeppelin Server
if (sessions.isEmpty() && interpreterSetting != null) {
@@ -151,18 +151,18 @@ public class ManagedInterpreterGroup extends InterpreterGroup {
if (!job.isTerminated()) {
job.abort();
job.setStatus(Job.Status.ABORT);
- LOGGER.info("Job " + job.getJobName() + " aborted ");
+ LOGGER.info("Job {} aborted ", job.getJobName());
}
}
} else {
- LOGGER.info("Keep job running while closing interpreter: " + interpreter.getClassName());
+ LOGGER.info("Keep job running while closing interpreter: {}", interpreter.getClassName());
}
try {
- LOGGER.info("Trying to close interpreter " + interpreter.getClassName());
+ LOGGER.info("Trying to close interpreter {}", interpreter.getClassName());
interpreter.close();
} catch (InterpreterException e) {
- LOGGER.warn("Fail to close interpreter " + interpreter.getClassName(), e);
+ LOGGER.warn("Fail to close interpreter {}", interpreter.getClassName(), e);
}
//TODO(zjffdu) move the close of schedule to Interpreter
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
index b0be31a..f24e477 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/RemoteInterpreterEventServer.java
@@ -57,6 +57,7 @@ import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.nio.ByteBuffer;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -262,10 +263,9 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
listener.runParagraphs(event.getNoteId(), event.getParagraphIndices(),
event.getParagraphIds(), event.getCurParagraphId());
if (InterpreterContext.get() != null) {
- LOGGER.info("complete runParagraphs." + InterpreterContext.get().getParagraphId() + " "
- + event);
+ LOGGER.info("complete runParagraphs.{} {}", InterpreterContext.get().getParagraphId(), event);
} else {
- LOGGER.info("complete runParagraphs." + event);
+ LOGGER.info("complete runParagraphs.{}", event);
}
} catch (IOException e) {
throw new TException(e);
@@ -274,12 +274,12 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
@Override
public void addAngularObject(String intpGroupId, String json) throws TException {
- LOGGER.debug("Add AngularObject, interpreterGroupId: " + intpGroupId + ", json: " + json);
- AngularObject angularObject = AngularObject.fromJson(json);
+ LOGGER.debug("Add AngularObject, interpreterGroupId: {}, json: {}", intpGroupId, json);
+ AngularObject<?> angularObject = AngularObject.fromJson(json);
InterpreterGroup interpreterGroup =
interpreterSettingManager.getInterpreterGroupById(intpGroupId);
if (interpreterGroup == null) {
- LOGGER.warn("Invalid InterpreterGroupId: " + intpGroupId);
+ LOGGER.warn("Invalid InterpreterGroupId: {}", intpGroupId);
return;
}
interpreterGroup.getAngularObjectRegistry().add(angularObject.getName(),
@@ -300,7 +300,7 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
@Override
public void updateAngularObject(String intpGroupId, String json) throws TException {
- AngularObject angularObject = AngularObject.fromJson(json);
+ AngularObject<?> angularObject = AngularObject.fromJson(json);
InterpreterGroup interpreterGroup =
interpreterSettingManager.getInterpreterGroupById(intpGroupId);
if (interpreterGroup == null) {
@@ -346,7 +346,7 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
Note note = interpreterSettingManager.getNotebook().getNote(noteId);
note.deleteAngularObject(intpGroupId, noteId, paragraphId, name);
} catch (IOException e) {
- LOGGER.warn("Fail to get note: " + noteId, e);
+ LOGGER.warn("Fail to get note: {}", noteId, e);
}
}
}
@@ -425,8 +425,7 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
@Override
public List<ParagraphInfo> getParagraphList(String user, String noteId)
throws TException, ServiceException {
- LOGGER.info("get paragraph list from remote interpreter noteId: " + noteId
- + ", user = " + user);
+ LOGGER.info("get paragraph list from remote interpreter noteId: {}, user = {}",noteId, user);
if (user != null && noteId != null) {
List<ParagraphInfo> paragraphInfos = null;
@@ -438,7 +437,7 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
return paragraphInfos;
} else {
LOGGER.error("user or noteId is null!");
- return null;
+ return Collections.emptyList();
}
}
@@ -508,8 +507,7 @@ public class RemoteInterpreterEventServer implements RemoteInterpreterEventServi
resourceId.getName()));
try {
- Object o = Resource.deserializeObject(buffer);
- return o;
+ return Resource.deserializeObject(buffer);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/SessionConfInterpreter.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/SessionConfInterpreter.java
index a5f580f..514ecdd 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/SessionConfInterpreter.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/SessionConfInterpreter.java
@@ -47,7 +47,7 @@ public class SessionConfInterpreter extends ConfInterpreter {
Properties updatedProperties = new Properties();
updatedProperties.load(new StringReader(st));
finalProperties.putAll(updatedProperties);
- LOGGER.debug("Properties for Session: " + sessionId + ": " + finalProperties);
+ LOGGER.debug("Properties for Session: {}:{}", sessionId, finalProperties);
List<Interpreter> interpreters =
interpreterSetting.getInterpreterGroup(interpreterGroupId).get(sessionId);
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/YarnAppMonitor.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/YarnAppMonitor.java
index 8f4980b..d84092b 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/YarnAppMonitor.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/YarnAppMonitor.java
@@ -28,7 +28,6 @@ import org.apache.zeppelin.scheduler.SchedulerThreadFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -82,11 +81,11 @@ public class YarnAppMonitor {
String yarnDiagnostics = appReport.getDiagnostics();
interpreterManagedProcess.processStopped("Yarn diagnostics: " + yarnDiagnostics);
iter.remove();
- LOGGER.info("Remove " + appId + " from YarnAppMonitor, because its state is " +
+ LOGGER.info("Remove {} from YarnAppMonitor, because its state is {}", appId ,
appReport.getYarnApplicationState());
} else if (appReport.getYarnApplicationState() == YarnApplicationState.FINISHED) {
iter.remove();
- LOGGER.info("Remove " + appId + " from YarnAppMonitor, because its state is " +
+ LOGGER.info("Remove {} from YarnAppMonitor, because its state is ", appId,
appReport.getYarnApplicationState());
}
}
@@ -105,7 +104,7 @@ public class YarnAppMonitor {
}
public void addYarnApp(ApplicationId appId, RemoteInterpreterManagedProcess interpreterManagedProcess) {
- LOGGER.info("Add " + appId + " to YarnAppMonitor");
+ LOGGER.info("Add {} to YarnAppMonitor", appId);
this.apps.put(appId, interpreterManagedProcess);
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/install/InstallInterpreter.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/install/InstallInterpreter.java
index 13ecb3f..d9e902b 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/install/InstallInterpreter.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/install/InstallInterpreter.java
@@ -28,6 +28,7 @@ import org.eclipse.aether.RepositoryException;
import java.io.File;
import java.io.IOException;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -82,7 +83,7 @@ public class InstallInterpreter {
System.err.println("Can't find interpreter list " + interpreterListFile.getAbsolutePath());
return;
}
- String text = FileUtils.readFileToString(interpreterListFile);
+ String text = FileUtils.readFileToString(interpreterListFile, StandardCharsets.UTF_8);
String[] lines = text.split("\n");
Pattern pattern = Pattern.compile("(\\S+)\\s+(\\S+)\\s+(.*)");
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/SparkInterpreterLauncher.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/SparkInterpreterLauncher.java
index e25e7da..526e22a 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/SparkInterpreterLauncher.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/SparkInterpreterLauncher.java
@@ -22,6 +22,8 @@ import java.io.FilenameFilter;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -110,16 +112,16 @@ public class SparkInterpreterLauncher extends StandardInterpreterLauncher {
if (isYarnMode()
&& getDeployMode().equals("cluster")) {
try {
- List<String> additionalJars = new ArrayList();
+ List<String> additionalJars = new ArrayList<>();
Path localRepoPath =
Paths.get(zConf.getInterpreterLocalRepoPath(), context.getInterpreterSettingId());
if (Files.exists(localRepoPath) && Files.isDirectory(localRepoPath)) {
- List<String> localRepoJars = StreamSupport.stream(
- Files.newDirectoryStream(localRepoPath, entry -> Files.isRegularFile(entry))
- .spliterator(),
+ try (DirectoryStream<Path> localRepoStream = Files.newDirectoryStream(localRepoPath, Files::isRegularFile)) {
+ List<String> localRepoJars = StreamSupport.stream(localRepoStream.spliterator(),
false)
.map(jar -> jar.toAbsolutePath().toString()).collect(Collectors.toList());
- additionalJars.addAll(localRepoJars);
+ additionalJars.addAll(localRepoJars);
+ }
}
String scalaVersion = detectSparkScalaVersion(properties.getProperty("SPARK_HOME"));
@@ -127,30 +129,29 @@ public class SparkInterpreterLauncher extends StandardInterpreterLauncher {
if (!scalaFolder.toFile().exists()) {
throw new IOException("spark scala folder " + scalaFolder.toFile() + " doesn't exist");
}
- List<String> scalaJars = StreamSupport.stream(
- Files.newDirectoryStream(scalaFolder, entry -> Files.isRegularFile(entry))
- .spliterator(),
+ try (DirectoryStream<Path> scalaStream = Files.newDirectoryStream(scalaFolder, Files::isRegularFile)) {
+ List<String> scalaJars = StreamSupport.stream(scalaStream.spliterator(),
false)
.map(jar -> jar.toAbsolutePath().toString()).collect(Collectors.toList());
- additionalJars.addAll(scalaJars);
-
+ additionalJars.addAll(scalaJars);
+ }
// add zeppelin-interpreter-shaded
Path interpreterFolder = Paths.get(zConf.getZeppelinHome(), "/interpreter");
- List<String> interpreterJars = StreamSupport.stream(
- Files.newDirectoryStream(interpreterFolder, entry -> Files.isRegularFile(entry))
- .spliterator(),
+ try (DirectoryStream<Path> interpreterStream = Files.newDirectoryStream(interpreterFolder, Files::isRegularFile)) {
+ List<String> interpreterJars = StreamSupport.stream(interpreterStream.spliterator(),
false)
.filter(jar -> jar.toFile().getName().startsWith("zeppelin-interpreter-shaded")
&& jar.toFile().getName().endsWith(".jar"))
.map(jar -> jar.toAbsolutePath().toString())
.collect(Collectors.toList());
- if (interpreterJars.isEmpty()) {
- throw new IOException("zeppelin-interpreter-shaded jar is not found");
- } else if (interpreterJars.size() > 1) {
- throw new IOException("more than 1 zeppelin-interpreter-shaded jars are found: "
- + StringUtils.join(interpreterJars, ","));
+ if (interpreterJars.isEmpty()) {
+ throw new IOException("zeppelin-interpreter-shaded jar is not found");
+ } else if (interpreterJars.size() > 1) {
+ throw new IOException("more than 1 zeppelin-interpreter-shaded jars are found: "
+ + StringUtils.join(interpreterJars, ","));
+ }
+ additionalJars.addAll(interpreterJars);
}
- additionalJars.addAll(interpreterJars);
if (sparkProperties.containsKey("spark.jars")) {
sparkProperties.put("spark.jars", sparkProperties.getProperty("spark.jars") + "," +
@@ -195,8 +196,7 @@ public class SparkInterpreterLauncher extends StandardInterpreterLauncher {
if (!StringUtils.isBlank(keytab) && !StringUtils.isBlank(principal)) {
env.put("ZEPPELIN_SERVER_KERBEROS_KEYTAB", keytab);
env.put("ZEPPELIN_SERVER_KERBEROS_PRINCIPAL", principal);
- LOGGER.info("Run Spark under secure mode with keytab: " + keytab +
- ", principal: " + principal);
+ LOGGER.info("Run Spark under secure mode with keytab: {}, principal: {}",keytab, principal);
} else {
LOGGER.info("Run Spark under non-secure mode as no keytab and principal is specified");
}
@@ -232,7 +232,7 @@ public class SparkInterpreterLauncher extends StandardInterpreterLauncher {
builder.redirectError(processOutputFile);
Process process = builder.start();
process.waitFor();
- String processOutput = IOUtils.toString(new FileInputStream(processOutputFile));
+ String processOutput = IOUtils.toString(new FileInputStream(processOutputFile), StandardCharsets.UTF_8);
Pattern pattern = Pattern.compile(".*Using Scala version (.*),.*");
Matcher matcher = pattern.matcher(processOutput);
if (matcher.find()) {
@@ -267,8 +267,7 @@ public class SparkInterpreterLauncher extends StandardInterpreterLauncher {
if (sparkAssemblyJars.length > 1) {
throw new Exception("Multiple spark assembly file found in SPARK_HOME: " + sparkHome);
}
- URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{sparkAssemblyJars[0].toURI().toURL()});
- try {
+ try (URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{sparkAssemblyJars[0].toURI().toURL()});){
urlClassLoader.loadClass("org.apache.spark.repl.SparkCommandLine");
return "2.10";
} catch (ClassNotFoundException e) {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
index aff3840..d52276d 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
@@ -46,7 +46,7 @@ public class StandardInterpreterLauncher extends InterpreterLauncher {
@Override
public InterpreterClient launchDirectly(InterpreterLaunchContext context) throws IOException {
- LOGGER.info("Launching new interpreter process of " + context.getInterpreterSettingGroup());
+ LOGGER.info("Launching new interpreter process of {}", context.getInterpreterSettingGroup());
this.properties = context.getProperties();
InterpreterOption option = context.getOption();
InterpreterRunner runner = context.getRunner();
@@ -81,7 +81,7 @@ public class StandardInterpreterLauncher extends InterpreterLauncher {
public Map<String, String> buildEnvFromProperties(InterpreterLaunchContext context) throws IOException {
Map<String, String> env = EnvironmentUtils.getProcEnvironment();
- for (Map.Entry entry : context.getProperties().entrySet()) {
+ for (Map.Entry<Object,Object> entry : context.getProperties().entrySet()) {
String key = (String) entry.getKey();
String value = (String) entry.getValue();
if (RemoteInterpreterUtils.isEnvString(key) && !StringUtils.isBlank(value)) {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/recovery/StopInterpreter.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/recovery/StopInterpreter.java
index 2eb0b04..2659e53 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/recovery/StopInterpreter.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/recovery/StopInterpreter.java
@@ -18,7 +18,7 @@ import java.util.Map;
*/
public class StopInterpreter {
- private static Logger LOGGER = LoggerFactory.getLogger(StopInterpreter.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(StopInterpreter.class);
public static void main(String[] args) throws IOException {
ZeppelinConfiguration zConf = ZeppelinConfiguration.create();
@@ -29,11 +29,11 @@ public class StopInterpreter {
new Class[] {ZeppelinConfiguration.class, InterpreterSettingManager.class},
new Object[] {zConf, interpreterSettingManager});
- LOGGER.info("Using RecoveryStorage: " + recoveryStorage.getClass().getName());
+ LOGGER.info("Using RecoveryStorage: {}", recoveryStorage.getClass().getName());
Map<String, InterpreterClient> restoredClients = recoveryStorage.restore();
if (restoredClients != null) {
for (InterpreterClient client : restoredClients.values()) {
- LOGGER.info("Stop Interpreter Process: " + client.getHost() + ":" + client.getPort());
+ LOGGER.info("Stop Interpreter Process: {}:{}", client.getHost(), client.getPort());
client.stop();
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunner.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunner.java
index 2a88dc2..6877411 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunner.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunner.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
@@ -35,7 +36,7 @@ import java.util.concurrent.LinkedBlockingQueue;
*/
public class AppendOutputRunner implements Runnable {
- private static final Logger logger =
+ private static final Logger LOGGER =
LoggerFactory.getLogger(AppendOutputRunner.class);
public static final Long BUFFER_TIME_MS = new Long(100);
private static final Long SAFE_PROCESSING_TIME = new Long(10);
@@ -65,7 +66,7 @@ public class AppendOutputRunner implements Runnable {
try {
list.add(queue.take());
} catch (InterruptedException e) {
- logger.error("Wait for OutputBuffer queue interrupted: " + e.getMessage());
+ LOGGER.error("Wait for OutputBuffer queue interrupted: {}", e.getMessage());
}
Long processingStartTime = System.currentTimeMillis();
queue.drainTo(list);
@@ -85,27 +86,24 @@ public class AppendOutputRunner implements Runnable {
Long processingTime = System.currentTimeMillis() - processingStartTime;
if (processingTime > SAFE_PROCESSING_TIME) {
- logger.warn("Processing time for buffered append-output is high: " +
- processingTime + " milliseconds.");
+ LOGGER.warn("Processing time for buffered append-output is high: {} milliseconds.", processingTime);
} else {
- logger.debug("Processing time for append-output took "
- + processingTime + " milliseconds");
+ LOGGER.debug("Processing time for append-output took {} milliseconds", processingTime);
}
Long sizeProcessed = new Long(0);
- for (String stringBufferKey : stringBufferMap.keySet()) {
- StringBuilder buffer = stringBufferMap.get(stringBufferKey);
+ for (Entry<String, StringBuilder> stringBufferMapEntry : stringBufferMap.entrySet()) {
+ String stringBufferKey = stringBufferMapEntry.getKey();
+ StringBuilder buffer = stringBufferMapEntry.getValue();
sizeProcessed += buffer.length();
String[] keys = stringBufferKey.split(":");
listener.onOutputAppend(keys[0], keys[1], Integer.parseInt(keys[2]), buffer.toString());
}
if (sizeProcessed > SAFE_PROCESSING_STRING_SIZE) {
- logger.warn("Processing size for buffered append-output is high: " +
- sizeProcessed + " characters.");
+ LOGGER.warn("Processing size for buffered append-output is high: {} characters.", sizeProcessed);
} else {
- logger.debug("Processing size for append-output is " +
- sizeProcessed + " characters");
+ LOGGER.debug("Processing size for append-output is {} characters", sizeProcessed);
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObjectRegistry.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObjectRegistry.java
index 58d544e..f4f77f4 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObjectRegistry.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteAngularObjectRegistry.java
@@ -22,16 +22,12 @@ import org.apache.zeppelin.display.AngularObject;
import org.apache.zeppelin.display.AngularObjectRegistry;
import org.apache.zeppelin.display.AngularObjectRegistryListener;
import org.apache.zeppelin.interpreter.ManagedInterpreterGroup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.util.List;
/**
* Proxy for AngularObjectRegistry that exists in remote interpreter process
*/
public class RemoteAngularObjectRegistry extends AngularObjectRegistry {
- private static final Logger LOGGER = LoggerFactory.getLogger(RemoteAngularObjectRegistry.class);
private static final Gson GSON = new Gson();
private ManagedInterpreterGroup interpreterGroup;
@@ -96,7 +92,7 @@ public class RemoteAngularObjectRegistry extends AngularObjectRegistry {
return super.remove(name, noteId, paragraphId);
}
-
+
public void removeAllAndNotifyRemoteProcess(String noteId, String paragraphId) {
List<AngularObject> all = getAll(noteId, paragraphId);
for (AngularObject ao : all) {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
index 754c4ae..a26360f 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java
@@ -105,6 +105,7 @@ public class RemoteInterpreter extends Interpreter {
return interpreterProcess;
}
+ @Override
public ManagedInterpreterGroup getInterpreterGroup() {
return (ManagedInterpreterGroup) super.getInterpreterGroup();
}
@@ -182,7 +183,7 @@ public class RemoteInterpreter extends Interpreter {
});
isOpened = false;
} else {
- LOGGER.warn("close is called when RemoterInterpreter is not opened for " + className);
+ LOGGER.warn("close is called when RemoterInterpreter is not opened for {}", className);
}
}
@@ -234,8 +235,7 @@ public class RemoteInterpreter extends Interpreter {
currentParams.putAll(remoteParams);
}
- InterpreterResult result = convert(remoteResult);
- return result;
+ return convert(remoteResult);
}
);
@@ -244,7 +244,7 @@ public class RemoteInterpreter extends Interpreter {
@Override
public void cancel(final InterpreterContext context) throws InterpreterException {
if (!isOpened) {
- LOGGER.warn("Cancel is called when RemoterInterpreter is not opened for " + className);
+ LOGGER.warn("Cancel is called when RemoterInterpreter is not opened for {}", className);
return;
}
RemoteInterpreterProcess interpreterProcess = null;
@@ -278,18 +278,17 @@ public class RemoteInterpreter extends Interpreter {
throw new InterpreterException(e);
}
- FormType type = interpreterProcess.callRemoteFunction(client -> {
+ return interpreterProcess.callRemoteFunction(client -> {
formType = FormType.valueOf(client.getFormType(sessionId, className));
return formType;
});
- return type;
}
@Override
public int getProgress(final InterpreterContext context) throws InterpreterException {
if (!isOpened) {
- LOGGER.warn("getProgress is called when RemoterInterpreter is not opened for " + className);
+ LOGGER.warn("getProgress is called when RemoterInterpreter is not opened for {}", className);
return 0;
}
RemoteInterpreterProcess interpreterProcess = null;
@@ -322,7 +321,7 @@ public class RemoteInterpreter extends Interpreter {
public String getStatus(final String jobId) {
if (!isOpened) {
- LOGGER.warn("getStatus is called when RemoteInterpreter is not opened for " + className);
+ LOGGER.warn("getStatus is called when RemoteInterpreter is not opened for {}", className);
return Job.Status.UNKNOWN.name();
}
RemoteInterpreterProcess interpreterProcess = null;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterManagedProcess.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterManagedProcess.java
index e9af2e1..2436000 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterManagedProcess.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterManagedProcess.java
@@ -129,12 +129,13 @@ public class RemoteInterpreterManagedProcess extends RemoteInterpreterProcess {
Matcher m = YARN_APP_PATTER.matcher(launchOutput);
if (m.find()) {
String appId = m.group(1);
- LOGGER.info("Detected yarn app: " + appId + ", add it to YarnAppMonitor");
+ LOGGER.info("Detected yarn app: {}, add it to YarnAppMonitor", appId);
YarnAppMonitor.get().addYarnApp(ConverterUtils.toApplicationId(appId), this);
}
}
}
+ @Override
public void stop() {
if (isRunning()) {
LOGGER.info("Kill interpreter process for interpreter group: {}", getInterpreterGroupId());
@@ -184,6 +185,7 @@ public class RemoteInterpreterManagedProcess extends RemoteInterpreterProcess {
return interpreterDir;
}
+ @Override
public String getInterpreterSettingName() {
return interpreterSettingName;
}
@@ -203,6 +205,7 @@ public class RemoteInterpreterManagedProcess extends RemoteInterpreterProcess {
return isUserImpersonated;
}
+ @Override
public boolean isRunning() {
return interpreterProcessLauncher != null && interpreterProcessLauncher.isRunning()
&& errorMessage == null;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java
index 9d5897e..19088f2 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java
@@ -37,8 +37,6 @@ import java.util.Date;
public abstract class RemoteInterpreterProcess implements InterpreterClient {
private static final Logger LOGGER = LoggerFactory.getLogger(RemoteInterpreterProcess.class);
private static final Gson GSON = new Gson();
- private static final SimpleDateFormat START_TIME_FORMATTER =
- new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private int connectTimeout;
protected String intpEventServerHost;
@@ -53,8 +51,8 @@ public abstract class RemoteInterpreterProcess implements InterpreterClient {
this.connectTimeout = connectTimeout;
this.intpEventServerHost = intpEventServerHost;
this.intpEventServerPort = intpEventServerPort;
- this.startTime = START_TIME_FORMATTER.format(new Date());
- this.remoteClient = new PooledRemoteClient<Client>(() -> {
+ this.startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+ this.remoteClient = new PooledRemoteClient<>(() -> {
TSocket transport = new TSocket(getHost(), getPort());
try {
transport.open();
@@ -90,7 +88,7 @@ public abstract class RemoteInterpreterProcess implements InterpreterClient {
String noteId,
String paragraphId,
Object o) {
- remoteClient.callRemoteFunction((PooledRemoteClient.RemoteFunction<Void, Client>) client -> {
+ remoteClient.callRemoteFunction(client -> {
client.angularObjectUpdate(name, noteId, paragraphId, GSON.toJson(o));
return null;
});
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterRunningProcess.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterRunningProcess.java
index c956323..85ed68f 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterRunningProcess.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterRunningProcess.java
@@ -16,7 +16,6 @@
*/
package org.apache.zeppelin.interpreter.remote;
-import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ApplicationState.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ApplicationState.java
index bc71d89..6969c5b 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ApplicationState.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ApplicationState.java
@@ -26,13 +26,13 @@ public class ApplicationState {
/**
* Status of Application
*/
- public static enum Status {
+ public enum Status {
LOADING,
LOADED,
UNLOADING,
UNLOADED,
ERROR
- };
+ }
Status status = Status.UNLOADED;
@@ -59,11 +59,10 @@ public class ApplicationState {
@Override
public boolean equals(Object o) {
- String compareName;
if (o instanceof ApplicationState) {
return pkg.equals(((ApplicationState) o).getHeliumPackage());
} else if (o instanceof HeliumPackage) {
- return pkg.equals((HeliumPackage) o);
+ return pkg.equals(o);
} else {
return false;
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
index 8272c6d..93797a7 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/AuthorizationService.java
@@ -223,7 +223,7 @@ public class AuthorizationService implements ClusterEventListener {
public Set<String> getOwners(String noteId) {
NoteAuth noteAuth = notesAuth.get(noteId);
if (noteAuth == null) {
- LOGGER.warn("No noteAuth found for noteId: " + noteId);
+ LOGGER.warn("No noteAuth found for noteId: {}", noteId);
return EMPTY_SET;
}
return noteAuth.getOwners();
@@ -232,7 +232,7 @@ public class AuthorizationService implements ClusterEventListener {
public Set<String> getReaders(String noteId) {
NoteAuth noteAuth = notesAuth.get(noteId);
if (noteAuth == null) {
- LOGGER.warn("No noteAuth found for noteId: " + noteId);
+ LOGGER.warn("No noteAuth found for noteId: {}", noteId);
return EMPTY_SET;
}
return noteAuth.getReaders();
@@ -241,7 +241,7 @@ public class AuthorizationService implements ClusterEventListener {
public Set<String> getRunners(String noteId) {
NoteAuth noteAuth = notesAuth.get(noteId);
if (noteAuth == null) {
- LOGGER.warn("No noteAuth found for noteId: " + noteId);
+ LOGGER.warn("No noteAuth found for noteId: {}", noteId);
return EMPTY_SET;
}
return noteAuth.getRunners();
@@ -250,7 +250,7 @@ public class AuthorizationService implements ClusterEventListener {
public Set<String> getWriters(String noteId) {
NoteAuth noteAuth = notesAuth.get(noteId);
if (noteAuth == null) {
- LOGGER.warn("No noteAuth found for noteId: " + noteId);
+ LOGGER.warn("No noteAuth found for noteId: {}", noteId);
return EMPTY_SET;
}
return noteAuth.getWriters();
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/FileSystemStorage.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/FileSystemStorage.java
index 40e7113..00446c3 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/FileSystemStorage.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/FileSystemStorage.java
@@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.FilePermission;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
@@ -33,7 +32,7 @@ import java.util.Set;
*/
public class FileSystemStorage {
- private static Logger LOGGER = LoggerFactory.getLogger(FileSystemStorage.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(FileSystemStorage.class);
private static final String S3A = "s3a";
private static final String FS_DEFAULTFS = "fs.defaultFS";
@@ -129,9 +128,9 @@ public class FileSystemStorage {
public Void call() throws IOException {
if (!fs.exists(dir)) {
fs.mkdirs(dir);
- LOGGER.info("Create dir {} in hdfs", dir.toString());
+ LOGGER.info("Create dir {} in hdfs", dir);
}
- if (fs.isFile(dir)) {
+ if (fs.getFileStatus(dir).isFile()) {
throw new IOException(dir.toString() + " is file instead of directory, please remove " +
"it or specify another directory");
}
@@ -174,7 +173,7 @@ public class FileSystemStorage {
if (path.getPath().getName().endsWith(".zpln")) {
noteFiles.add(path.getPath());
} else {
- LOGGER.warn("Unknown file: " + path.getPath());
+ LOGGER.warn("Unknown file: {}", path.getPath());
}
}
}
@@ -195,11 +194,10 @@ public class FileSystemStorage {
return callHdfsOperation(new HdfsOperation<String>() {
@Override
public String call() throws IOException {
- LOGGER.debug("Read from file: " + file);
+ LOGGER.debug("Read from file: {}", file);
ByteArrayOutputStream noteBytes = new ByteArrayOutputStream();
IOUtils.copyBytes(fs.open(file), noteBytes, hadoopConf);
- return new String(noteBytes.toString(
- zConf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_ENCODING)));
+ return noteBytes.toString(zConf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_ENCODING));
}
});
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
index 2a87da6..08bad00 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
@@ -221,8 +221,8 @@ public class Note implements JsonSerializable {
}
public void setPersonalizedMode(Boolean value) {
- String valueString = StringUtils.EMPTY;
- if (value) {
+ String valueString;
+ if (value.booleanValue()) {
valueString = "true";
} else {
valueString = "false";
@@ -381,7 +381,9 @@ public class Note implements JsonSerializable {
// Delete existing AngularObject
Iterator<AngularObject> iter = angularObjectList.iterator();
while(iter.hasNext()){
- String noteId = "", paragraphId = "", name = "";
+ String noteId = "";
+ String paragraphId = "";
+ String name = "";
Object object = iter.next();
if (object instanceof AngularObject) {
AngularObject ao = (AngularObject)object;
@@ -412,9 +414,7 @@ public class Note implements JsonSerializable {
*/
public void deleteAngularObject(String intpGroupId, String noteId, String paragraphId, String name) {
List<AngularObject> angularObjectList;
- if (!angularObjects.containsKey(intpGroupId)) {
- return;
- } else {
+ if (angularObjects.containsKey(intpGroupId)) {
angularObjectList = angularObjects.get(intpGroupId);
// Delete existing AngularObject
@@ -467,7 +467,7 @@ public class Note implements JsonSerializable {
Map<String, Object> param = srcParagraph.settings.getParams();
Map<String, Input> form = srcParagraph.settings.getForms();
- LOGGER.debug("srcParagraph user: " + srcParagraph.getUser());
+ LOGGER.debug("srcParagraph user: {}", srcParagraph.getUser());
newParagraph.setAuthenticationInfo(subject);
newParagraph.setConfig(config);
@@ -476,7 +476,7 @@ public class Note implements JsonSerializable {
newParagraph.setText(srcParagraph.getText());
newParagraph.setTitle(srcParagraph.getTitle());
- LOGGER.debug("newParagraph user: " + newParagraph.getUser());
+ LOGGER.debug("newParagraph user: {}", newParagraph.getUser());
try {
String resultJson = GSON.toJson(srcParagraph.getReturn());
@@ -484,8 +484,7 @@ public class Note implements JsonSerializable {
newParagraph.setReturn(result, null);
} catch (Exception e) {
// 'result' part of Note consists of exception, instead of actual interpreter results
- LOGGER.warn(
- "Paragraph " + srcParagraph.getId() + " has a result with exception. " + e.getMessage());
+ LOGGER.warn("Paragraph {} has a result with exception. {}", srcParagraph.getId(), e.getMessage());
}
synchronized (paragraphs) {
@@ -720,7 +719,7 @@ public class Note implements JsonSerializable {
}
private void setParagraphMagic(Paragraph p, int index) {
- if (paragraphs.size() > 0) {
+ if (!paragraphs.isEmpty()) {
String replName;
if (index == 0) {
replName = paragraphs.get(0).getIntpText();
@@ -766,7 +765,7 @@ public class Note implements JsonSerializable {
try {
runAllSync(authInfo, isolated, params);
} catch (Exception e) {
- LOGGER.warn("Fail to run note: " + id, e);
+ LOGGER.warn("Fail to run note: {}", id, e);
} finally {
setRunning(false);
setIsolatedMode(false);
@@ -929,7 +928,7 @@ public class Note implements JsonSerializable {
angularObjects = new HashMap<>();
List<InterpreterSetting> settings = getBindedInterpreterSettings(Lists.newArrayList(user));
- if (settings == null || settings.size() == 0) {
+ if (settings == null || settings.isEmpty()) {
return;
}
@@ -1136,7 +1135,7 @@ public class Note implements JsonSerializable {
note.postProcessParagraphs();
return note;
} catch (Exception e) {
- LOGGER.error("Fail to parse note json: " + e.toString());
+ LOGGER.error("Fail to parse note json: {}", e.toString());
throw new IOException("Fail to parse note json: " + json, e);
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteAuth.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteAuth.java
index 7f6c84b..20e46e7 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteAuth.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteAuth.java
@@ -116,7 +116,7 @@ public class NoteAuth {
*/
private Set<String> checkCaseAndConvert(Set<String> entities) {
if (ZeppelinConfiguration.create().isUsernameForceLowerCase()) {
- Set<String> set2 = new HashSet<String>();
+ Set<String> set2 = new HashSet<>();
for (String name : entities) {
set2.add(name.toLowerCase());
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
index 15ec674..80eb37d 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/NoteManager.java
@@ -30,9 +30,9 @@ import javax.inject.Singleton;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -53,7 +53,7 @@ import java.util.stream.Stream;
@Singleton
public class NoteManager {
private static final Logger LOGGER = LoggerFactory.getLogger(NoteManager.class);
- public static String TRASH_FOLDER = "~Trash";
+ public static final String TRASH_FOLDER = "~Trash";
private Folder root;
private Folder trash;
@@ -72,7 +72,7 @@ public class NoteManager {
// build the tree structure of notes
private void init() throws IOException {
this.notesInfo = notebookRepo.list(AuthenticationInfo.ANONYMOUS).values().stream()
- .collect(Collectors.toMap(noteInfo -> noteInfo.getId(), notesInfo -> notesInfo.getPath()));
+ .collect(Collectors.toMap(NoteInfo::getId, NoteInfo::getPath));
this.notesInfo.entrySet().stream()
.forEach(entry ->
{
@@ -99,11 +99,11 @@ public class NoteManager {
try {
return getNoteNode(notePath).getNote();
} catch (Exception e) {
- LOGGER.warn("Fail to load note: " + notePath, e);
+ LOGGER.warn("Fail to load note: {}", notePath, e);
return null;
}
})
- .filter(note -> note != null);
+ .filter(Objects::nonNull);
}
/**
@@ -490,12 +490,12 @@ public class NoteManager {
}
public List<NoteNode> getNoteNodeRecursively() {
- List<NoteNode> notes = new ArrayList<>();
- notes.addAll(this.notes.values());
+ List<NoteNode> noteNodeRecursively = new ArrayList<>();
+ noteNodeRecursively.addAll(this.notes.values());
for (Folder folder : subFolders.values()) {
- notes.addAll(folder.getNoteNodeRecursively());
+ noteNodeRecursively.addAll(folder.getNoteNodeRecursively());
}
- return notes;
+ return noteNodeRecursively;
}
public Map<String, NoteNode> getNotes() {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
index 12faca3..39dea80 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Notebook.java
@@ -26,6 +26,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -135,14 +136,14 @@ public class Notebook {
note.unLoad();
}
} catch (Exception e) {
- LOGGER.warn("Fail to recovery note: " + note.getPath(), e);
+ LOGGER.warn("Fail to recovery note: {}", note.getPath(), e);
}
});
});
thread.setName("Recovering-Thread");
thread.start();
LOGGER.info("Start paragraph recovering thread");
-
+
try {
thread.join();
} catch (InterruptedException e) {
@@ -388,17 +389,17 @@ public class Notebook {
}
public void moveNote(String noteId, String newNotePath, AuthenticationInfo subject) throws IOException {
- LOGGER.info("Move note " + noteId + " to " + newNotePath);
+ LOGGER.info("Move note {} to {}", noteId, newNotePath);
noteManager.moveNote(noteId, newNotePath, subject);
}
public void moveFolder(String folderPath, String newFolderPath, AuthenticationInfo subject) throws IOException {
- LOGGER.info("Move folder from " + folderPath + " to " + newFolderPath);
+ LOGGER.info("Move folder from {} to {}", folderPath, newFolderPath);
noteManager.moveFolder(folderPath, newFolderPath, subject);
}
public void removeFolder(String folderPath, AuthenticationInfo subject) throws IOException {
- LOGGER.info("Remove folder " + folderPath);
+ LOGGER.info("Remove folder {}", folderPath);
// TODO(zjffdu) NotebookRepo.remove is called twice here
List<Note> notes = noteManager.removeFolder(folderPath, subject);
for (Note note : notes) {
@@ -477,7 +478,7 @@ public class Notebook {
try {
note = noteManager.getNote(id);
} catch (IOException e) {
- LOGGER.error("Fail to get note: " + id, e);
+ LOGGER.error("Fail to get note: {}", id, e);
return null;
}
if (note == null) {
@@ -511,8 +512,9 @@ public class Notebook {
Map<String, List<AngularObject>> savedObjects = note.getAngularObjects();
if (savedObjects != null) {
- for (String intpGroupName : savedObjects.keySet()) {
- List<AngularObject> objectList = savedObjects.get(intpGroupName);
+ for (Entry<String, List<AngularObject>> intpGroupNameEntry : savedObjects.entrySet()) {
+ String intpGroupName = intpGroupNameEntry.getKey();
+ List<AngularObject> objectList = intpGroupNameEntry.getValue();
for (AngularObject object : objectList) {
SnapshotAngularObject snapshot = angularObjectSnapshot.get(object.getName());
@@ -526,8 +528,9 @@ public class Notebook {
note.setNoteEventListeners(this.noteEventListeners);
- for (String name : angularObjectSnapshot.keySet()) {
- SnapshotAngularObject snapshot = angularObjectSnapshot.get(name);
+ for (Entry<String, SnapshotAngularObject> angularObjectSnapshotEntry : angularObjectSnapshot.entrySet()) {
+ String name = angularObjectSnapshotEntry.getKey();
+ SnapshotAngularObject snapshot = angularObjectSnapshotEntry.getValue();
List<InterpreterSetting> settings = interpreterSettingManager.get();
for (InterpreterSetting setting : settings) {
InterpreterGroup intpGroup = setting.getInterpreterGroup(
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
index 66535ff..d6f92a6 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Paragraph.java
@@ -72,8 +72,8 @@ import com.google.common.collect.Maps;
public class Paragraph extends JobWithProgressPoller<InterpreterResult> implements Cloneable,
JsonSerializable {
- private static Logger LOGGER = LoggerFactory.getLogger(Paragraph.class);
- private static Pattern REPL_PATTERN =
+ private static final Logger LOGGER = LoggerFactory.getLogger(Paragraph.class);
+ private static final Pattern REPL_PATTERN =
Pattern.compile("(\\s*)%([\\w\\.]+)(\\(.*?\\))?.*", Pattern.DOTALL);
private String title;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ParagraphTextParser.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ParagraphTextParser.java
index 59c990e..e534c32 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ParagraphTextParser.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/ParagraphTextParser.java
@@ -67,7 +67,7 @@ public class ParagraphTextParser {
}
}
- private static Pattern REPL_PATTERN = Pattern.compile("^(\\s*)%(\\w+(?:\\.\\w+)*)");
+ private static final Pattern REPL_PATTERN = Pattern.compile("^(\\s*)%(\\w+(?:\\.\\w+)*)");
private static int parseLocalProperties(
final String text, int startPos,
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
index 805a848..7aa5fa6 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoSync.java
@@ -21,7 +21,6 @@ import com.google.common.collect.Lists;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.conf.ZeppelinConfiguration.ConfVars;
import org.apache.zeppelin.notebook.Note;
-import org.apache.zeppelin.notebook.NoteAuth;
import org.apache.zeppelin.notebook.NoteInfo;
import org.apache.zeppelin.notebook.OldNoteInfo;
import org.apache.zeppelin.notebook.Paragraph;
@@ -45,10 +44,10 @@ import java.util.Map;
*/
public class NotebookRepoSync implements NotebookRepoWithVersionControl {
private static final Logger LOGGER = LoggerFactory.getLogger(NotebookRepoSync.class);
- private static final int maxRepoNum = 2;
- private static final String pushKey = "pushNoteIds";
- private static final String pullKey = "pullNoteIds";
- private static final String delDstKey = "delDstNoteIds";
+ private static final int MAX_REPO_NUM = 2;
+ private static final String PUSH_KEY = "pushNoteIds";
+ private static final String PULL_KEY = "pullNoteIds";
+ private static final String DEL_DST_KEY = "delDstNoteIds";
private static final String DEFAULT_STORAGE = "org.apache.zeppelin.notebook.repo.GitNotebookRepo";
@@ -64,6 +63,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
init(conf);
}
+ @Override
public void init(ZeppelinConfiguration conf) throws IOException {
oneWaySync = conf.getBoolean(ConfVars.ZEPPELIN_NOTEBOOK_ONE_WAY_SYNC);
String allStorageClassNames = conf.getNotebookStorageClass().trim();
@@ -113,8 +113,8 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
PluginManager.get().loadOldNotebookRepo(newNotebookRepo.getClass().getCanonicalName());
oldNotebookRepo.init(conf);
List<OldNoteInfo> oldNotesInfo = oldNotebookRepo.list(AuthenticationInfo.ANONYMOUS);
- LOGGER.info("Convert old note file to new style, note count: " + oldNotesInfo.size());
- LOGGER.info("Delete old note: " + deleteOld);
+ LOGGER.info("Convert old note file to new style, note count: {}", oldNotesInfo.size());
+ LOGGER.info("Delete old note: {}", deleteOld);
for (OldNoteInfo oldNoteInfo : oldNotesInfo) {
LOGGER.info("Converting note, id: {}", oldNoteInfo.getId());
Note note = oldNotebookRepo.get(oldNoteInfo.getId(), AuthenticationInfo.ANONYMOUS);
@@ -130,7 +130,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
}
if (deleteOld) {
oldNotebookRepo.remove(note.getId(), AuthenticationInfo.ANONYMOUS);
- LOGGER.info("Remote old note: " + note.getId());
+ LOGGER.info("Remote old note: {}", note.getId());
// TODO(zjffdu) no commit when deleting note, This is an issue of
// NotebookRepoWithVersionControl
/**
@@ -217,7 +217,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
getRepo(1).save(note, subject);
}
catch (IOException e) {
- LOGGER.info(e.getMessage() + ": Failed to write to secondary storage");
+ LOGGER.info("{}: Failed to write to secondary storage", e.getMessage());
}
}
}
@@ -236,7 +236,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
getRepo(1).move(noteId, notePath, newNotePath, subject);
}
catch (IOException e) {
- LOGGER.info(e.getMessage() + ": Failed to write to secondary storage");
+ LOGGER.info("{}: Failed to write to secondary storage", e.getMessage());
}
}
}
@@ -282,14 +282,14 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
Map<String, List<NoteInfo>> noteIds = notesCheckDiff(srcNotes, srcRepo, dstNotes, dstRepo,
subject);
- List<NoteInfo> pushNoteIds = noteIds.get(pushKey);
- List<NoteInfo> pullNoteIds = noteIds.get(pullKey);
- List<NoteInfo> delDstNoteIds = noteIds.get(delDstKey);
+ List<NoteInfo> pushNoteIds = noteIds.get(PUSH_KEY);
+ List<NoteInfo> pullNoteIds = noteIds.get(PULL_KEY);
+ List<NoteInfo> delDstNoteIds = noteIds.get(DEL_DST_KEY);
if (!pushNoteIds.isEmpty()) {
LOGGER.info("The following notes will be pushed");
for (NoteInfo noteInfo : pushNoteIds) {
- LOGGER.info("Note : " + noteIds);
+ LOGGER.info("Note : {}", noteInfo.getId());
}
pushNotes(subject, pushNoteIds, srcRepo, dstRepo);
} else {
@@ -299,7 +299,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
if (!pullNoteIds.isEmpty()) {
LOGGER.info("The following notes will be pulled");
for (NoteInfo noteInfo : pullNoteIds) {
- LOGGER.info("Note : " + noteInfo);
+ LOGGER.info("Note : {}", noteInfo);
}
pushNotes(subject, pullNoteIds, dstRepo, srcRepo);
} else {
@@ -309,7 +309,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
if (!delDstNoteIds.isEmpty()) {
LOGGER.info("The following notes will be deleted from dest");
for (NoteInfo noteInfo : delDstNoteIds) {
- LOGGER.info("Note : " + noteIds);
+ LOGGER.info("Note : {}", noteInfo.getId());
}
deleteNotes(subject, delDstNoteIds, dstRepo);
} else {
@@ -346,7 +346,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
}
int getMaxRepoNum() {
- return maxRepoNum;
+ return MAX_REPO_NUM;
}
public NotebookRepo getRepo(int repoIndex) throws IOException {
@@ -383,10 +383,10 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
/* if source contains more up to date note - push
* if oneWaySync is enabled, always push no matter who's newer */
pushIDs.add(snote);
- LOGGER.info("Modified note is added to push list : " + sdate);
+ LOGGER.info("Modified note is added to push list : {}", sdate);
} else {
/* destination contains more up to date note - pull */
- LOGGER.info("Modified note is added to pull list : " + ddate);
+ LOGGER.info("Modified note is added to pull list : {}", ddate);
pullIDs.add(snote);
}
}
@@ -404,20 +404,20 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
/* note exists in destination storage, and absent in source */
if (oneWaySync) {
/* if oneWaySync is enabled, delete the note from destination */
- LOGGER.info("Extraneous note is added to delete dest list : " + note.getId());
+ LOGGER.info("Extraneous note is added to delete dest list : {}", note.getId());
delDstIDs.add(note);
} else {
/* if oneWaySync is disabled, pull the note from destination */
- LOGGER.info("Missing note is added to pull list : " + note.getId());
+ LOGGER.info("Missing note is added to pull list : {}", note.getId());
pullIDs.add(note);
}
}
}
Map<String, List<NoteInfo>> map = new HashMap<>();
- map.put(pushKey, pushIDs);
- map.put(pullKey, pullIDs);
- map.put(delDstKey, delDstIDs);
+ map.put(PUSH_KEY, pushIDs);
+ map.put(PULL_KEY, pullIDs);
+ map.put(DEL_DST_KEY, delDstIDs);
return map;
}
@@ -463,11 +463,11 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
}
}
- public Boolean isRevisionSupportedInDefaultRepo() {
+ public boolean isRevisionSupportedInDefaultRepo() {
return isRevisionSupportedInRepo(0);
}
- public Boolean isRevisionSupportedInRepo(int repoIndex) {
+ public boolean isRevisionSupportedInRepo(int repoIndex) {
try {
if (getRepo(repoIndex) instanceof NotebookRepoWithVersionControl) {
return true;
@@ -485,7 +485,7 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
int repoCount = getRepoCount();
int repoBound = Math.min(repoCount, getMaxRepoNum());
int errorCount = 0;
- String errorMessage = "";
+ StringBuilder errorMessage = new StringBuilder("");
List<Revision> allRepoCheckpoints = new ArrayList<>();
Revision rev = null;
for (int i = 0; i < repoBound; i++) {
@@ -497,17 +497,17 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
}
} catch (IOException e) {
LOGGER.warn("Couldn't checkpoint in {} storage with index {} for note {}",
- getRepo(i).getClass().toString(), i, noteId);
- errorMessage += "Error on storage class " + getRepo(i).getClass().toString() +
- " with index " + i + " : " + e.getMessage() + "\n";
+ getRepo(i).getClass(), i, noteId);
+ errorMessage.append("Error on storage class " + getRepo(i).getClass().toString() +
+ " with index " + i + " : " + e.getMessage() + "\n");
errorCount++;
}
}
// throw exception if failed to commit for all initialized repos
if (errorCount == repoBound) {
- throw new IOException(errorMessage);
+ throw new IOException(errorMessage.toString());
}
- if (allRepoCheckpoints.size() > 0) {
+ if (!allRepoCheckpoints.isEmpty()) {
rev = allRepoCheckpoints.get(0);
// if failed to checkpoint on first storage, then return result on second
if (allRepoCheckpoints.size() > 1 && rev == null) {
@@ -571,7 +571,8 @@ public class NotebookRepoSync implements NotebookRepoWithVersionControl {
throws IOException {
int repoCount = getRepoCount();
int repoBound = Math.min(repoCount, getMaxRepoNum());
- Note currentNote = null, revisionNote = null;
+ Note currentNote = null;
+ Note revisionNote = null;
for (int i = 0; i < repoBound; i++) {
try {
if (isRevisionSupportedInRepo(i)) {
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithVersionControl.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithVersionControl.java
index d9a31b3..e41e8ff 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithVersionControl.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepoWithVersionControl.java
@@ -20,12 +20,10 @@ package org.apache.zeppelin.notebook.repo;
import org.apache.commons.lang3.StringUtils;
import org.apache.zeppelin.annotation.ZeppelinApi;
import org.apache.zeppelin.notebook.Note;
-import org.apache.zeppelin.notebook.NoteInfo;
import org.apache.zeppelin.user.AuthenticationInfo;
import java.io.IOException;
import java.util.List;
-import java.util.Map;
/**
* Notebook repository (persistence layer) abstraction
@@ -47,7 +45,7 @@ public interface NotebookRepoWithVersionControl extends NotebookRepo {
/**
* Get particular revision of the Notebook.
- *
+ *
* @param noteId Id of the note
* @param notePath path of the note
* @param revId revision of the Notebook
@@ -59,7 +57,7 @@ public interface NotebookRepoWithVersionControl extends NotebookRepo {
/**
* List of revisions of the given Notebook.
- *
+ *
* @param noteId id of the note
* @param notePath path of the note
* @param subject
@@ -71,7 +69,7 @@ public interface NotebookRepoWithVersionControl extends NotebookRepo {
/**
* Set note to particular revision.
- *
+ *
* @param noteId Id of the Notebook
* @param notePath path of the note
* @param revId revision of the Notebook
@@ -86,11 +84,11 @@ public interface NotebookRepoWithVersionControl extends NotebookRepo {
*/
class Revision {
public static final Revision EMPTY = new Revision(StringUtils.EMPTY, StringUtils.EMPTY, 0);
-
+
public String id;
public String message;
public int time;
-
+
public Revision(String revId, String message, int time) {
this.id = revId;
this.message = message;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldNotebookRepo.java
index 63f0026..38c3f90 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldNotebookRepo.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldNotebookRepo.java
@@ -20,7 +20,6 @@ package org.apache.zeppelin.notebook.repo;
import org.apache.zeppelin.annotation.ZeppelinApi;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.notebook.Note;
-import org.apache.zeppelin.notebook.NoteInfo;
import org.apache.zeppelin.notebook.OldNoteInfo;
import org.apache.zeppelin.user.AuthenticationInfo;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldVFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldVFSNotebookRepo.java
index 9c4e1f0..dfabd96 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldVFSNotebookRepo.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/OldVFSNotebookRepo.java
@@ -64,7 +64,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
protected void setNotebookDirectory(String notebookDirPath) throws IOException {
try {
- LOG.info("Using notebookDir: " + notebookDirPath);
+ LOG.info("Using notebookDir: {}", notebookDirPath);
if (conf.isWindowsPath(notebookDirPath)) {
filesystemRoot = new File(notebookDirPath).toURI();
} else {
@@ -88,7 +88,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
}
private String getNotebookDirPath() {
- return filesystemRoot.getPath().toString();
+ return filesystemRoot.getPath();
}
private String getPath(String path) {
@@ -103,12 +103,10 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
}
private boolean isDirectory(FileObject fo) throws IOException {
- if (fo == null) return false;
- if (fo.getType() == FileType.FOLDER) {
- return true;
- } else {
+ if (fo == null) {
return false;
}
+ return fo.getType() == FileType.FOLDER;
}
@Override
@@ -142,7 +140,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
infos.add(info);
}
} catch (Exception e) {
- LOG.error("Can't read note " + f.getName().toString());
+ LOG.error("Can't read note {}", f.getName());
}
}
@@ -158,7 +156,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
if (!noteJson.exists()) {
throw new IOException(noteJson.getName().toString() + " not found");
}
-
+
FileContent content = noteJson.getContent();
InputStream ins = content.getInputStream();
String json = IOUtils.toString(ins, conf.getString(ConfVars.ZEPPELIN_ENCODING));
@@ -196,7 +194,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
@Override
public synchronized void save(Note note, AuthenticationInfo subject) throws IOException {
- LOG.info("Saving note:" + note.getId());
+ LOG.info("Saving note: {}", note.getId());
String json = note.toJson();
FileObject rootDir = getRootDir();
@@ -238,7 +236,7 @@ public class OldVFSNotebookRepo implements OldNotebookRepo {
@Override
public void close() {
- //no-op
+ //no-op
}
@Override
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java
index 018d192..e5c1366 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/VFSNotebookRepo.java
@@ -66,7 +66,7 @@ public class VFSNotebookRepo implements NotebookRepo {
protected void setNotebookDirectory(String notebookDirPath) throws IOException {
URI filesystemRoot = null;
try {
- LOGGER.info("Using notebookDir: " + notebookDirPath);
+ LOGGER.info("Using notebookDir: {}", notebookDirPath);
if (conf.isWindowsPath(notebookDirPath)) {
filesystemRoot = new File(notebookDirPath).toURI();
} else {
@@ -104,7 +104,7 @@ public class VFSNotebookRepo implements NotebookRepo {
Map<String, NoteInfo> noteInfos = new HashMap<>();
if (fileObject.isFolder()) {
if (fileObject.getName().getBaseName().startsWith(".")) {
- LOGGER.warn("Skip hidden folder: " + fileObject.getName().getPath());
+ LOGGER.warn("Skip hidden folder: {}", fileObject.getName().getPath());
return noteInfos;
}
for (FileObject child : fileObject.getChildren()) {
@@ -141,7 +141,7 @@ public class VFSNotebookRepo implements NotebookRepo {
@Override
public synchronized void save(Note note, AuthenticationInfo subject) throws IOException {
- LOGGER.info("Saving note " + note.getId() + " to " + buildNoteFileName(note));
+ LOGGER.info("Saving note {} to {}", note.getId(), buildNoteFileName(note));
// write to tmp file first, then rename it to the {note_name}_{note_id}.zpln
FileObject noteJson = rootNotebookFileObject.resolveFile(
buildNoteTempFileName(note), NameScope.DESCENDENT);
@@ -163,7 +163,7 @@ public class VFSNotebookRepo implements NotebookRepo {
String notePath,
String newNotePath,
AuthenticationInfo subject) throws IOException {
- LOGGER.info("Move note " + noteId + " from " + notePath + " to " + newNotePath);
+ LOGGER.info("Move note {} from {} to {}", noteId, notePath, newNotePath);
FileObject fileObject = rootNotebookFileObject.resolveFile(
buildNoteFileName(noteId, notePath), NameScope.DESCENDENT);
FileObject destFileObject = rootNotebookFileObject.resolveFile(
@@ -176,7 +176,7 @@ public class VFSNotebookRepo implements NotebookRepo {
@Override
public void move(String folderPath, String newFolderPath,
AuthenticationInfo subject) throws IOException{
- LOGGER.info("Move folder from " + folderPath + " to " + newFolderPath);
+ LOGGER.info("Move folder from {} to {}", folderPath, newFolderPath);
FileObject fileObject = rootNotebookFileObject.resolveFile(
folderPath.substring(1), NameScope.DESCENDENT);
FileObject destFileObject = rootNotebookFileObject.resolveFile(
@@ -189,7 +189,7 @@ public class VFSNotebookRepo implements NotebookRepo {
@Override
public void remove(String noteId, String notePath, AuthenticationInfo subject)
throws IOException {
- LOGGER.info("Remove note: " + noteId + ", notePath: " + notePath);
+ LOGGER.info("Remove note: {}, notePath: {}", noteId, notePath);
FileObject noteFile = rootNotebookFileObject.resolveFile(
buildNoteFileName(noteId, notePath), NameScope.DESCENDENT);
noteFile.delete(Selectors.SELECT_SELF);
@@ -197,7 +197,7 @@ public class VFSNotebookRepo implements NotebookRepo {
@Override
public void remove(String folderPath, AuthenticationInfo subject) throws IOException {
- LOGGER.info("Remove folder: " + folderPath);
+ LOGGER.info("Remove folder: {}", folderPath);
FileObject folderObject = rootNotebookFileObject.resolveFile(
folderPath.substring(1), NameScope.DESCENDENT);
folderObject.deleteAll();
@@ -205,7 +205,7 @@ public class VFSNotebookRepo implements NotebookRepo {
@Override
public void close() {
- //no-op
+ //no-op
}
@Override
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinClient.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinClient.java
index 6e90204..6ee95c3 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinClient.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinClient.java
@@ -67,7 +67,7 @@ public class ZeppelinClient {
private static final int MIN = 60;
private static final String ORIGIN = "Origin";
- private static final Set<String> actionable = new HashSet<String>(Arrays.asList(
+ private static final Set<String> actionable = new HashSet<>(Arrays.asList(
// running events
"ANGULAR_OBJECT_UPDATE",
"PROGRESS",
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java
index 3674e0e..94262a5 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/ZeppelinhubClient.java
@@ -55,7 +55,7 @@ import com.google.gson.reflect.TypeToken;
* Manage a zeppelinhub websocket connection.
*/
public class ZeppelinhubClient {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinhubClient.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinhubClient.class);
private final WebSocketClient client;
private final URI zeppelinhubWebsocketUrl;
@@ -64,11 +64,11 @@ public class ZeppelinhubClient {
private static final String TOKEN_HEADER = "X-Zeppelin-Token";
private static final long CONNECTION_IDLE_TIME = TimeUnit.SECONDS.toMillis(30);
private static ZeppelinhubClient instance = null;
- private static Gson gson;
-
+ private static final Gson gson = new Gson();
+
private SchedulerService schedulerService;
- private Map<String, ZeppelinhubSession> sessionMap =
- new ConcurrentHashMap<String, ZeppelinhubSession>();
+ private Map<String, ZeppelinhubSession> sessionMap =
+ new ConcurrentHashMap<>();
public static ZeppelinhubClient initialize(String zeppelinhubUrl, String token) {
if (instance == null) {
@@ -86,8 +86,7 @@ public class ZeppelinhubClient {
client = createNewWebsocketClient();
zeppelinhubToken = token;
schedulerService = SchedulerService.create(10);
- gson = new Gson();
- LOG.info("Initialized ZeppelinHub websocket client on {}", zeppelinhubWebsocketUrl);
+ LOGGER.info("Initialized ZeppelinHub websocket client on {}", zeppelinhubWebsocketUrl);
}
public void start() {
@@ -95,21 +94,21 @@ public class ZeppelinhubClient {
client.start();
addRoutines();
} catch (Exception e) {
- LOG.error("Cannot connect to zeppelinhub via websocket", e);
+ LOGGER.error("Cannot connect to zeppelinhub via websocket", e);
}
}
-
+
public void initUser(String token) {
-
+
}
public void stop() {
- LOG.info("Stopping Zeppelinhub websocket client");
+ LOGGER.info("Stopping Zeppelinhub websocket client");
try {
schedulerService.close();
client.stop();
} catch (Exception e) {
- LOG.error("Cannot stop zeppelinhub websocket client", e);
+ LOGGER.error("Cannot stop zeppelinhub websocket client", e);
}
}
@@ -120,27 +119,27 @@ public class ZeppelinhubClient {
public String getToken() {
return this.zeppelinhubToken;
}
-
+
public void send(String msg, String token) {
ZeppelinhubSession zeppelinhubSession = getSession(token);
if (!isConnectedToZeppelinhub(zeppelinhubSession)) {
- LOG.info("Zeppelinhub connection is not open, opening it");
+ LOGGER.info("Zeppelinhub connection is not open, opening it");
zeppelinhubSession = connect(token);
if (zeppelinhubSession == ZeppelinhubSession.EMPTY) {
- LOG.warn("While connecting to ZeppelinHub received empty session, cannot send the message");
+ LOGGER.warn("While connecting to ZeppelinHub received empty session, cannot send the message");
return;
}
}
zeppelinhubSession.sendByFuture(msg);
}
-
+
private boolean isConnectedToZeppelinhub(ZeppelinhubSession zeppelinhubSession) {
return (zeppelinhubSession != null && zeppelinhubSession.isSessionOpen());
}
private ZeppelinhubSession connect(String token) {
if (StringUtils.isBlank(token)) {
- LOG.debug("Can't connect with empty token");
+ LOGGER.debug("Can't connect with empty token");
return ZeppelinhubSession.EMPTY;
}
ZeppelinhubSession zeppelinhubSession;
@@ -152,7 +151,7 @@ public class ZeppelinhubClient {
zeppelinhubSession = ZeppelinhubSession.createInstance(session, token);
setSession(token, zeppelinhubSession);
} catch (IOException | InterruptedException | ExecutionException e) {
- LOG.info("Couldnt connect to zeppelinhub", e);
+ LOGGER.info("Couldnt connect to zeppelinhub", e);
zeppelinhubSession = ZeppelinhubSession.EMPTY;
}
return zeppelinhubSession;
@@ -180,7 +179,7 @@ public class ZeppelinhubClient {
request.setCookies(Lists.newArrayList(new HttpCookie(TOKEN_HEADER, token)));
return request;
}
-
+
private WebSocketClient createNewWebsocketClient() {
SslContextFactory sslContextFactory = new SslContextFactory();
WebSocketClient client = new WebSocketClient(sslContextFactory);
@@ -189,7 +188,7 @@ public class ZeppelinhubClient {
client.setMaxIdleTimeout(CONNECTION_IDLE_TIME);
return client;
}
-
+
private void addRoutines() {
schedulerService.add(ZeppelinHubHeartbeat.newInstance(this), 10, 23);
}
@@ -197,14 +196,14 @@ public class ZeppelinhubClient {
public void handleMsgFromZeppelinHub(String message) {
ZeppelinhubMessage hubMsg = ZeppelinhubMessage.fromJson(message);
if (hubMsg.equals(ZeppelinhubMessage.EMPTY)) {
- LOG.error("Cannot handle ZeppelinHub message is empty");
+ LOGGER.error("Cannot handle ZeppelinHub message is empty");
return;
}
String op = StringUtils.EMPTY;
if (hubMsg.op instanceof String) {
op = (String) hubMsg.op;
} else {
- LOG.error("Message OP from ZeppelinHub isn't string {}", hubMsg.op);
+ LOGGER.error("Message OP from ZeppelinHub isn't string {}", hubMsg.op);
return;
}
if (ZeppelinhubUtils.isZeppelinHubOp(op)) {
@@ -216,7 +215,7 @@ public class ZeppelinhubClient {
private void handleZeppelinHubOpMsg(ZeppelinHubOp op, ZeppelinhubMessage hubMsg, String msg) {
if (op == null || msg.equals(ZeppelinhubMessage.EMPTY)) {
- LOG.error("Cannot handle empty op or msg");
+ LOGGER.error("Cannot handle empty op or msg");
return;
}
switch (op) {
@@ -224,7 +223,7 @@ public class ZeppelinhubClient {
runAllParagraph(hubMsg.meta.get("noteId"), msg);
break;
default:
- LOG.debug("Received {} from ZeppelinHub, not handled", op);
+ LOGGER.debug("Received {} from ZeppelinHub, not handled", op);
break;
}
}
@@ -233,7 +232,7 @@ public class ZeppelinhubClient {
private void forwardToZeppelin(Message.OP op, ZeppelinhubMessage hubMsg) {
Message zeppelinMsg = new Message(op);
if (!(hubMsg.data instanceof Map)) {
- LOG.error("Data field of message from ZeppelinHub isn't in correct Map format");
+ LOGGER.error("Data field of message from ZeppelinHub isn't in correct Map format");
return;
}
zeppelinMsg.data = (Map<String, Object>) hubMsg.data;
@@ -241,23 +240,23 @@ public class ZeppelinhubClient {
zeppelinMsg.ticket = TicketContainer.instance.getTicket(zeppelinMsg.principal);
Client client = Client.getInstance();
if (client == null) {
- LOG.warn("Base client isn't initialized, returning");
+ LOGGER.warn("Base client isn't initialized, returning");
return;
}
client.relayToZeppelin(zeppelinMsg, hubMsg.meta.get("noteId"));
}
boolean runAllParagraph(String noteId, String hubMsg) {
- LOG.info("Running paragraph with noteId {}", noteId);
+ LOGGER.info("Running paragraph with noteId {}", noteId);
try {
JSONObject data = new JSONObject(hubMsg);
if (data.equals(JSONObject.NULL) || !(data.get("data") instanceof JSONArray)) {
- LOG.error("Wrong \"data\" format for RUN_NOTEBOOK");
+ LOGGER.error("Wrong \"data\" format for RUN_NOTEBOOK");
return false;
}
Client client = Client.getInstance();
if (client == null) {
- LOG.warn("Base client isn't initialized, returning");
+ LOGGER.warn("Base client isn't initialized, returning");
return false;
}
Message zeppelinMsg = new Message(OP.RUN_PARAGRAPH);
@@ -266,18 +265,18 @@ public class ZeppelinhubClient {
String principal = data.getJSONObject("meta").getString("owner");
for (int i = 0; i < paragraphs.length(); i++) {
if (!(paragraphs.get(i) instanceof JSONObject)) {
- LOG.warn("Wrong \"paragraph\" format for RUN_NOTEBOOK");
+ LOGGER.warn("Wrong \"paragraph\" format for RUN_NOTEBOOK");
continue;
}
- zeppelinMsg.data = gson.fromJson(paragraphs.getString(i),
+ zeppelinMsg.data = gson.fromJson(paragraphs.getString(i),
new TypeToken<Map<String, Object>>(){}.getType());
zeppelinMsg.principal = principal;
zeppelinMsg.ticket = TicketContainer.instance.getTicket(principal);
client.relayToZeppelin(zeppelinMsg, noteId);
- LOG.info("\nSending RUN_PARAGRAPH message to Zeppelin ");
+ LOGGER.info("\nSending RUN_PARAGRAPH message to Zeppelin ");
}
} catch (JSONException e) {
- LOG.error("Failed to parse RUN_NOTEBOOK message from ZeppelinHub ", e);
+ LOGGER.error("Failed to parse RUN_NOTEBOOK message from ZeppelinHub ", e);
return false;
}
return true;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinWebsocket.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinWebsocket.java
index fa6ade8..8cfb6cf 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinWebsocket.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinWebsocket.java
@@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory;
*
*/
public class ZeppelinWebsocket implements WebSocketListener {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinWebsocket.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinWebsocket.class);
public Session connection;
public String noteId;
@@ -42,25 +42,25 @@ public class ZeppelinWebsocket implements WebSocketListener {
@Override
public void onWebSocketClose(int code, String message) {
- LOG.info("Zeppelin connection closed with code: {}, message: {}", code, message);
+ LOGGER.info("Zeppelin connection closed with code: {}, message: {}", code, message);
ZeppelinClient.getInstance().removeNoteConnection(noteId);
}
@Override
public void onWebSocketConnect(Session session) {
- LOG.info("Zeppelin connection opened");
+ LOGGER.info("Zeppelin connection opened");
this.connection = session;
}
@Override
public void onWebSocketError(Throwable e) {
- LOG.warn("Zeppelin socket connection error ", e);
+ LOGGER.warn("Zeppelin socket connection error ", e);
ZeppelinClient.getInstance().removeNoteConnection(noteId);
}
@Override
public void onWebSocketText(String data) {
- LOG.debug("Zeppelin client received Message: " + data);
+ LOGGER.debug("Zeppelin client received Message: {}", data);
// propagate to ZeppelinHub
try {
ZeppelinClient zeppelinClient = ZeppelinClient.getInstance();
@@ -68,7 +68,7 @@ public class ZeppelinWebsocket implements WebSocketListener {
zeppelinClient.handleMsgFromZeppelin(data, noteId);
}
} catch (Exception e) {
- LOG.error("Failed to send message to ZeppelinHub: {}", e.toString());
+ LOGGER.error("Failed to send message to ZeppelinHub: {}", e.toString());
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinhubWebsocket.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinhubWebsocket.java
index 216c307..fbd23bf 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinhubWebsocket.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/listener/ZeppelinhubWebsocket.java
@@ -27,10 +27,10 @@ import org.slf4j.LoggerFactory;
* Zeppelinhub websocket handler.
*/
public class ZeppelinhubWebsocket implements WebSocketListener {
- private Logger LOG = LoggerFactory.getLogger(ZeppelinhubWebsocket.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinhubWebsocket.class);
private Session zeppelinHubSession;
private final String token;
-
+
private ZeppelinhubWebsocket(String token) {
this.token = token;
}
@@ -38,27 +38,27 @@ public class ZeppelinhubWebsocket implements WebSocketListener {
public static ZeppelinhubWebsocket newInstance(String token) {
return new ZeppelinhubWebsocket(token);
}
-
+
@Override
public void onWebSocketBinary(byte[] payload, int offset, int len) {}
@Override
public void onWebSocketClose(int statusCode, String reason) {
- LOG.info("Closing websocket connection [{}] : {}", statusCode, reason);
+ LOGGER.info("Closing websocket connection [{}] : {}", statusCode, reason);
send(ZeppelinhubUtils.deadMessage(token));
this.zeppelinHubSession = null;
}
@Override
public void onWebSocketConnect(Session session) {
- LOG.info("Opening a new session to Zeppelinhub {}", session.hashCode());
+ LOGGER.info("Opening a new session to Zeppelinhub {}", session.hashCode());
this.zeppelinHubSession = session;
send(ZeppelinhubUtils.liveMessage(token));
}
@Override
public void onWebSocketError(Throwable cause) {
- LOG.error("Remote websocket error");
+ LOGGER.error("Remote websocket error");
}
@Override
@@ -73,7 +73,7 @@ public class ZeppelinhubWebsocket implements WebSocketListener {
private boolean isSessionOpen() {
return ((zeppelinHubSession != null) && (zeppelinHubSession.isOpen())) ? true : false;
}
-
+
private void send(String msg) {
if (isSessionOpen()) {
zeppelinHubSession.getRemote().sendStringByFuture(msg);
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/protocol/ZeppelinhubMessage.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/protocol/ZeppelinhubMessage.java
index cd4763f..4a8fa15 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/protocol/ZeppelinhubMessage.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/protocol/ZeppelinhubMessage.java
@@ -22,8 +22,6 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.zeppelin.common.JsonSerializable;
import org.apache.zeppelin.common.Message;
import org.apache.zeppelin.common.Message.OP;
-import org.apache.zeppelin.notebook.repo.zeppelinhub.websocket.Client;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -37,24 +35,24 @@ import com.google.gson.JsonSyntaxException;
*/
public class ZeppelinhubMessage implements JsonSerializable {
private static final Gson gson = new Gson();
- private static final Logger LOG = LoggerFactory.getLogger(Client.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinhubMessage.class);
public static final ZeppelinhubMessage EMPTY = new ZeppelinhubMessage();
public Object op;
public Object data;
public Map<String, String> meta = Maps.newHashMap();
-
+
private ZeppelinhubMessage() {
this.op = OP.LIST_NOTES;
this.data = null;
}
-
+
private ZeppelinhubMessage(Object op, Object data, Map<String, String> meta) {
this.op = op;
this.data = data;
this.meta = meta;
}
-
+
public static ZeppelinhubMessage newMessage(Object op, Object data, Map<String, String> meta) {
return new ZeppelinhubMessage(op, data, meta);
}
@@ -66,6 +64,7 @@ public class ZeppelinhubMessage implements JsonSerializable {
return new ZeppelinhubMessage(zeppelinMsg.op, zeppelinMsg.data, meta);
}
+ @Override
public String toJson() {
return gson.toJson(this, ZeppelinhubMessage.class);
}
@@ -78,10 +77,10 @@ public class ZeppelinhubMessage implements JsonSerializable {
try {
msg = gson.fromJson(zeppelinhubMessage, ZeppelinhubMessage.class);
} catch (JsonSyntaxException ex) {
- LOG.error("Cannot fromJson zeppelinhub message", ex);
+ LOGGER.error("Cannot fromJson zeppelinhub message", ex);
msg = EMPTY;
}
return msg;
}
-
+
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHeartbeat.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHeartbeat.java
index 11cfa45..b7e3e19 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHeartbeat.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHeartbeat.java
@@ -25,20 +25,20 @@ import org.slf4j.LoggerFactory;
*
*/
public class ZeppelinHeartbeat implements Runnable {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinHubHeartbeat.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinHeartbeat.class);
private ZeppelinClient client;
-
+
public static ZeppelinHeartbeat newInstance(ZeppelinClient client) {
return new ZeppelinHeartbeat(client);
}
-
+
private ZeppelinHeartbeat(ZeppelinClient client) {
this.client = client;
}
@Override
public void run() {
- LOG.debug("Sending PING to Zeppelin Websocket Server");
+ LOGGER.debug("Sending PING to Zeppelin Websocket Server");
client.ping();
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHubHeartbeat.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHubHeartbeat.java
index 2282147..ef08b64 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHubHeartbeat.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/scheduler/ZeppelinHubHeartbeat.java
@@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory;
*
*/
public class ZeppelinHubHeartbeat implements Runnable {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinHubHeartbeat.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinHubHeartbeat.class);
private ZeppelinhubClient client;
public static ZeppelinHubHeartbeat newInstance(ZeppelinhubClient client) {
@@ -40,7 +40,7 @@ public class ZeppelinHubHeartbeat implements Runnable {
@Override
public void run() {
- LOG.debug("Sending PING to zeppelinhub token");
+ LOGGER.debug("Sending PING to zeppelinhub token");
for (String token: UserTokenContainer.getInstance().getAllTokens()) {
client.send(ZeppelinhubUtils.pingMessage(token), token);
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/session/ZeppelinhubSession.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/session/ZeppelinhubSession.java
index 568c398..39cb724 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/session/ZeppelinhubSession.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/session/ZeppelinhubSession.java
@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
* Zeppelinhub session.
*/
public class ZeppelinhubSession {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinhubSession.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinhubSession.class);
private Session session;
private final String token;
@@ -52,12 +52,12 @@ public class ZeppelinhubSession {
public void sendByFuture(String msg) {
if (StringUtils.isBlank(msg)) {
- LOG.error("Cannot send event to Zeppelinhub, msg is empty");
+ LOGGER.error("Cannot send event to Zeppelinhub, msg is empty");
}
if (isSessionOpen()) {
session.getRemote().sendStringByFuture(msg);
} else {
- LOG.error("Cannot send event to Zeppelinhub, session is close");
+ LOGGER.error("Cannot send event to Zeppelinhub, session is close");
}
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/utils/ZeppelinhubUtils.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/utils/ZeppelinhubUtils.java
index 83ca1ee..9bf3fb6 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/utils/ZeppelinhubUtils.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/zeppelinhub/websocket/utils/ZeppelinhubUtils.java
@@ -33,41 +33,41 @@ import org.slf4j.LoggerFactory;
*
*/
public class ZeppelinhubUtils {
- private static final Logger LOG = LoggerFactory.getLogger(ZeppelinhubUtils.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(ZeppelinhubUtils.class);
public static String liveMessage(String token) {
if (StringUtils.isBlank(token)) {
- LOG.error("Cannot create Live message: token is null or empty");
+ LOGGER.error("Cannot create Live message: token is null or empty");
return ZeppelinhubMessage.EMPTY.toJson();
}
HashMap<String, Object> data = new HashMap<>();
data.put("token", token);
return ZeppelinhubMessage
- .newMessage(ZeppelinHubOp.LIVE, data, new HashMap<String, String>())
+ .newMessage(ZeppelinHubOp.LIVE, data, new HashMap<>())
.toJson();
}
-
+
public static String deadMessage(String token) {
if (StringUtils.isBlank(token)) {
- LOG.error("Cannot create Dead message: token is null or empty");
+ LOGGER.error("Cannot create Dead message: token is null or empty");
return ZeppelinhubMessage.EMPTY.toJson();
}
HashMap<String, Object> data = new HashMap<>();
data.put("token", token);
return ZeppelinhubMessage
- .newMessage(ZeppelinHubOp.DEAD, data, new HashMap<String, String>())
+ .newMessage(ZeppelinHubOp.DEAD, data, new HashMap<>())
.toJson();
}
-
+
public static String pingMessage(String token) {
if (StringUtils.isBlank(token)) {
- LOG.error("Cannot create Ping message: token is null or empty");
+ LOGGER.error("Cannot create Ping message: token is null or empty");
return ZeppelinhubMessage.EMPTY.toJson();
}
HashMap<String, Object> data = new HashMap<>();
data.put("token", token);
return ZeppelinhubMessage
- .newMessage(ZeppelinHubOp.PING, data, new HashMap<String, String>())
+ .newMessage(ZeppelinHubOp.PING, data, new HashMap<>())
.toJson();
}
@@ -82,7 +82,7 @@ public class ZeppelinhubUtils {
}
public static boolean isZeppelinHubOp(String text) {
- return (toZeppelinHubOp(text) != null);
+ return (toZeppelinHubOp(text) != null);
}
public static Message.OP toZeppelinOp(String text) {
@@ -96,33 +96,33 @@ public class ZeppelinhubUtils {
}
public static boolean isZeppelinOp(String text) {
- return (toZeppelinOp(text) != null);
+ return (toZeppelinOp(text) != null);
}
-
+
public static void userLoginRoutine(String username) {
- LOG.debug("Executing user login routine");
+ LOGGER.debug("Executing user login routine");
String token = UserTokenContainer.getInstance().getUserToken(username);
UserTokenContainer.getInstance().setUserToken(username, token);
String msg = ZeppelinhubUtils.liveMessage(token);
ZeppelinhubClient.getInstance()
.send(msg, token);
}
-
+
public static void userLogoutRoutine(String username) {
- LOG.debug("Executing user logout routine");
+ LOGGER.debug("Executing user logout routine");
String token = UserTokenContainer.getInstance().removeUserToken(username);
String msg = ZeppelinhubUtils.deadMessage(token);
ZeppelinhubClient.getInstance()
.send(msg, token);
ZeppelinhubClient.getInstance().removeSession(token);
}
-
+
public static void userSwitchTokenRoutine(String username, String originToken,
String targetToken) {
String offMsg = ZeppelinhubUtils.deadMessage(originToken);
ZeppelinhubClient.getInstance().send(offMsg, originToken);
ZeppelinhubClient.getInstance().removeSession(originToken);
-
+
String onMsg = ZeppelinhubUtils.liveMessage(targetToken);
ZeppelinhubClient.getInstance().send(onMsg, targetToken);
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/CronJob.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/CronJob.java
index c03ee7c..c410ddc 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/CronJob.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/CronJob.java
@@ -18,9 +18,6 @@
package org.apache.zeppelin.notebook.scheduler;
import org.apache.commons.lang3.StringUtils;
-import org.apache.zeppelin.interpreter.ExecutionContext;
-import org.apache.zeppelin.interpreter.ExecutionContextBuilder;
-import org.apache.zeppelin.interpreter.InterpreterSetting;
import org.apache.zeppelin.notebook.Note;
import org.apache.zeppelin.user.AuthenticationInfo;
import org.quartz.JobDataMap;
@@ -38,7 +35,7 @@ public class CronJob implements org.quartz.Job {
public void execute(JobExecutionContext context) {
JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();
Note note = (Note) jobDataMap.get("note");
- LOGGER.info("Start cron job of note: " + note.getId());
+ LOGGER.info("Start cron job of note: {}", note.getId());
if (note.haveRunningOrPendingParagraphs()) {
LOGGER.warn(
"execution of the cron job is skipped because there is a running or pending "
@@ -60,7 +57,7 @@ public class CronJob implements org.quartz.Job {
try {
note.runAll(authenticationInfo, true, true, new HashMap<>());
} catch (Exception e) {
- LOGGER.warn("Fail to run note: " + note.getName(), e);
+ LOGGER.warn("Fail to run note: {}", note.getName(), e);
}
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
index f2874b3..0211e0e 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/scheduler/QuartzSchedulerService.java
@@ -108,7 +108,7 @@ public class QuartzSchedulerService implements SchedulerService {
try {
note = notebook.getNote(noteId);
} catch (IOException e) {
- LOGGER.warn("Skip refresh cron of note: " + noteId + " because fail to get it", e);
+ LOGGER.warn("Skip refresh cron of note: {} because fail to get it", noteId, e);
return false;
}
if (note == null) {
@@ -157,7 +157,7 @@ public class QuartzSchedulerService implements SchedulerService {
.forJob(noteId, "note")
.build();
} catch (Exception e) {
- LOGGER.error("Fail to create cron trigger for note: " + note.getName(), e);
+ LOGGER.error("Fail to create cron trigger for note: {}", note.getName(), e);
info.put("cron", e.getMessage());
return false;
}
@@ -167,7 +167,7 @@ public class QuartzSchedulerService implements SchedulerService {
scheduler.scheduleJob(newJob, trigger);
return true;
} catch (SchedulerException e) {
- LOGGER.error("Fail to schedule cron job for note: " + note.getName(), e);
+ LOGGER.error("Fail to schedule cron job for note: {}", note.getName(), e);
info.put("cron", "Scheduler Exception");
return false;
}
@@ -187,7 +187,7 @@ public class QuartzSchedulerService implements SchedulerService {
try {
scheduler.deleteJob(new JobKey(id, "note"));
} catch (SchedulerException e) {
- LOGGER.error("Can't remove quertz " + id, e);
+ LOGGER.error("Can't remove quertz {}", id, e);
}
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
index 056b93e..5f3324d 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/plugin/PluginManager.java
@@ -75,13 +75,11 @@ public class PluginManager {
}
public NotebookRepo loadNotebookRepo(String notebookRepoClassName) throws IOException {
- LOGGER.info("Loading NotebookRepo Plugin: " + notebookRepoClassName);
+ LOGGER.info("Loading NotebookRepo Plugin: {}", notebookRepoClassName);
if (builtinNotebookRepoClassNames.contains(notebookRepoClassName) ||
Boolean.parseBoolean(System.getProperty("zeppelin.isTest", "false"))) {
try {
- NotebookRepo notebookRepo = (NotebookRepo)
- (Class.forName(notebookRepoClassName).newInstance());
- return notebookRepo;
+ return (NotebookRepo) (Class.forName(notebookRepoClassName).newInstance());
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
throw new IOException("Fail to instantiate notebookrepo from classpath directly:"
+ notebookRepoClassName, e);
@@ -118,13 +116,11 @@ public class PluginManager {
*/
public OldNotebookRepo loadOldNotebookRepo(String notebookRepoClassName) throws IOException {
String oldNotebookRepoClassName = getOldNotebookRepoClassName(notebookRepoClassName);
- LOGGER.info("Loading OldNotebookRepo Plugin: " + oldNotebookRepoClassName);
+ LOGGER.info("Loading OldNotebookRepo Plugin: {}", oldNotebookRepoClassName);
if (builtinOldNotebookRepoClassNames.contains(oldNotebookRepoClassName) ||
Boolean.parseBoolean(System.getProperty("zeppelin.isTest", "false"))) {
try {
- OldNotebookRepo notebookRepo = (OldNotebookRepo)
- (Class.forName(oldNotebookRepoClassName).newInstance());
- return notebookRepo;
+ return (OldNotebookRepo) (Class.forName(oldNotebookRepoClassName).newInstance());
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
throw new IOException("Fail to instantiate notebookrepo from classpath directly:"
+ oldNotebookRepoClassName);
@@ -155,16 +151,15 @@ public class PluginManager {
return cachedLaunchers.get(launcherPlugin);
}
String launcherClassName = "org.apache.zeppelin.interpreter.launcher." + launcherPlugin;
- LOGGER.info("Loading Interpreter Launcher Plugin: " + launcherClassName);
+ LOGGER.info("Loading Interpreter Launcher Plugin: {}", launcherClassName);
if (builtinLauncherClassNames.contains(launcherClassName) ||
Boolean.parseBoolean(System.getProperty("zeppelin.isTest", "false"))) {
try {
- InterpreterLauncher launcher = (InterpreterLauncher)
+ return (InterpreterLauncher)
(Class.forName(launcherClassName))
.getConstructor(ZeppelinConfiguration.class, RecoveryStorage.class)
.newInstance(zConf, recoveryStorage);
- return launcher;
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException
| NoSuchMethodException | InvocationTargetException e) {
throw new IOException("Fail to instantiate InterpreterLauncher from classpath directly:"
@@ -194,19 +189,16 @@ public class PluginManager {
File pluginFolder = new File(pluginsDir + "/" + pluginType + "/" + pluginName);
if (!pluginFolder.exists() || pluginFolder.isFile()) {
- LOGGER.warn("PluginFolder " + pluginFolder.getAbsolutePath() +
- " doesn't exist or is not a directory");
+ LOGGER.warn("PluginFolder {} doesn't exist or is not a directory", pluginFolder.getAbsolutePath());
return null;
}
List<URL> urls = new ArrayList<>();
for (File file : pluginFolder.listFiles()) {
- LOGGER.debug("Add file " + file.getAbsolutePath() + " to classpath of plugin: "
- + pluginName);
+ LOGGER.debug("Add file {} to classpath of plugin: {}", file.getAbsolutePath(), pluginName);
urls.add(file.toURI().toURL());
}
if (urls.isEmpty()) {
- LOGGER.warn("Can not load plugin " + pluginName +
- ", because the plugin folder " + pluginFolder + " is empty.");
+ LOGGER.warn("Can not load plugin {}, because the plugin folder {} is empty.", pluginName , pluginFolder);
return null;
}
return new URLClassLoader(urls.toArray(new URL[0]));
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
index 2b3a24c..f0ccce0 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/search/LuceneSearch.java
@@ -71,7 +71,7 @@ import org.slf4j.LoggerFactory;
* thread-safe.
*/
public class LuceneSearch extends SearchService {
- private static final Logger logger = LoggerFactory.getLogger(LuceneSearch.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(LuceneSearch.class);
private static final String SEARCH_FIELD_TEXT = "contents";
private static final String SEARCH_FIELD_TITLE = "header";
@@ -92,7 +92,7 @@ public class LuceneSearch extends SearchService {
try {
this.indexPath = Paths.get(conf.getZeppelinSearchIndexPath());
this.indexDirectory = FSDirectory.open(indexPath);
- logger.info("Use {} for storing lucene search index", this.indexPath);
+ LOGGER.info("Use {} for storing lucene search index", this.indexPath);
} catch (IOException e) {
throw new RuntimeException(
"Failed to create index directory for search service. Use memory instead", e);
@@ -105,7 +105,7 @@ public class LuceneSearch extends SearchService {
try {
this.indexWriter = new IndexWriter(indexDirectory, indexWriterConfig);
} catch (IOException e) {
- logger.error("Failed to create new IndexWriter", e);
+ LOGGER.error("Failed to create new IndexWriter", e);
}
}
@@ -126,16 +126,16 @@ public class LuceneSearch extends SearchService {
new MultiFieldQueryParser(new String[] {SEARCH_FIELD_TEXT, SEARCH_FIELD_TITLE}, analyzer);
Query query = parser.parse(queryStr);
- logger.debug("Searching for: " + query.toString(SEARCH_FIELD_TEXT));
+ LOGGER.debug("Searching for: {}", query.toString(SEARCH_FIELD_TEXT));
SimpleHTMLFormatter htmlFormatter = new SimpleHTMLFormatter();
Highlighter highlighter = new Highlighter(htmlFormatter, new QueryScorer(query));
result = doSearch(indexSearcher, query, analyzer, highlighter);
} catch (IOException e) {
- logger.error("Failed to open index dir {}, make sure indexing finished OK", indexDirectory, e);
+ LOGGER.error("Failed to open index dir {}, make sure indexing finished OK", indexDirectory, e);
} catch (ParseException e) {
- logger.error("Failed to parse query " + queryStr, e);
+ LOGGER.error("Failed to parse query {}", queryStr, e);
}
return result;
}
@@ -147,16 +147,16 @@ public class LuceneSearch extends SearchService {
try {
hits = searcher.search(query, 20).scoreDocs;
for (int i = 0; i < hits.length; i++) {
- logger.debug("doc={} score={}", hits[i].doc, hits[i].score);
+ LOGGER.debug("doc={} score={}", hits[i].doc, hits[i].score);
int id = hits[i].doc;
Document doc = searcher.doc(id);
String path = doc.get(ID_FIELD);
if (path != null) {
- logger.debug((i + 1) + ". " + path);
+ LOGGER.debug( "{}. {}", (i + 1), path);
String title = doc.get("title");
if (title != null) {
- logger.debug(" Title: {}", doc.get("title"));
+ LOGGER.debug(" Title: {}", doc.get("title"));
}
String text = doc.get(SEARCH_FIELD_TEXT);
@@ -168,10 +168,10 @@ public class LuceneSearch extends SearchService {
TokenSources.getTokenStream(
searcher.getIndexReader(), id, SEARCH_FIELD_TEXT, analyzer);
TextFragment[] frag = highlighter.getBestTextFragments(tokenStream, text, true, 3);
- logger.debug(" {} fragments found for query '{}'", frag.length, query);
+ LOGGER.debug(" {} fragments found for query '{}'", frag.length, query);
for (int j = 0; j < frag.length; j++) {
if ((frag[j] != null) && (frag[j].getScore() > 0)) {
- logger.debug(" Fragment: {}", frag[j].toString());
+ LOGGER.debug(" Fragment: {}", frag[j].toString());
}
}
fragment = (frag != null && frag.length > 0) ? frag[0].toString() : "";
@@ -191,11 +191,11 @@ public class LuceneSearch extends SearchService {
"id", path, // <noteId>/paragraph/<paragraphId>
"name", title, "snippet", fragment, "text", text, "header", header));
} else {
- logger.info("{}. No {} for this document", i + 1, ID_FIELD);
+ LOGGER.info("{}. No {} for this document", i + 1, ID_FIELD);
}
}
} catch (IOException | InvalidTokenOffsetsException e) {
- logger.error("Exception on searching for {}", query, e);
+ LOGGER.error("Exception on searching for {}", query, e);
}
return matchingParagraphs;
}
@@ -214,9 +214,9 @@ public class LuceneSearch extends SearchService {
private void updateIndexNoteName(Note note) throws IOException {
String noteName = note.getName();
String noteId = note.getId();
- logger.debug("Indexing Notebook {}, '{}'", noteId, noteName);
+ LOGGER.debug("Indexing Notebook {}, '{}'", noteId, noteName);
if (null == noteName || noteName.isEmpty()) {
- logger.debug("Skipping empty notebook name");
+ LOGGER.debug("Skipping empty notebook name");
return;
}
updateDoc(noteId, noteName, null);
@@ -224,7 +224,7 @@ public class LuceneSearch extends SearchService {
private void updateIndexParagraph(Note note, Paragraph p) throws IOException {
if (p.getText() == null) {
- logger.debug("Skipping empty paragraph");
+ LOGGER.debug("Skipping empty paragraph");
return;
}
updateDoc(note.getId(), note.getName(), p);
@@ -246,7 +246,7 @@ public class LuceneSearch extends SearchService {
indexWriter.updateDocument(new Term(ID_FIELD, id), doc);
indexWriter.commit();
} catch (IOException e) {
- logger.error("Failed to update index of notebook {}", noteId, e);
+ LOGGER.error("Failed to update index of notebook {}", noteId, e);
}
}
@@ -313,15 +313,15 @@ public class LuceneSearch extends SearchService {
docsIndexed++;
}
} catch (IOException e) {
- logger.error("Failed to index all Notebooks", e);
+ LOGGER.error("Failed to index all Notebooks", e);
} finally {
try { // save what's been indexed, even if not full collection
indexWriter.commit();
} catch (IOException e) {
- logger.error("Failed to save index", e);
+ LOGGER.error("Failed to save index", e);
}
long end = System.nanoTime();
- logger.info(
+ LOGGER.info(
"Indexing {} notebooks took {}ms",
docsIndexed,
TimeUnit.NANOSECONDS.toMillis(end - start));
@@ -337,7 +337,7 @@ public class LuceneSearch extends SearchService {
addIndexDocAsync(note);
indexWriter.commit();
} catch (IOException e) {
- logger.error("Failed to add note {} to index", note, e);
+ LOGGER.error("Failed to add note {} to index", note, e);
}
}
@@ -351,7 +351,7 @@ public class LuceneSearch extends SearchService {
indexNoteName(indexWriter, note.getId(), note.getName());
for (Paragraph doc : note.getParagraphs()) {
if (doc.getText() == null) {
- logger.debug("Skipping empty paragraph");
+ LOGGER.debug("Skipping empty paragraph");
continue;
}
indexDoc(indexWriter, note.getId(), note.getName(), doc);
@@ -377,14 +377,14 @@ public class LuceneSearch extends SearchService {
private void deleteDoc(String noteId, Paragraph p) {
String fullNoteOrJustParagraph = formatDeleteId(noteId, p);
- logger.debug("Deleting note {}, out of: {}", noteId, indexWriter.numDocs());
+ LOGGER.debug("Deleting note {}, out of: {}", noteId, indexWriter.numDocs());
try {
indexWriter.deleteDocuments(new WildcardQuery(new Term(ID_FIELD, fullNoteOrJustParagraph)));
indexWriter.commit();
} catch (IOException e) {
- logger.error("Failed to delete {} from index by '{}'", noteId, fullNoteOrJustParagraph, e);
+ LOGGER.error("Failed to delete {} from index by '{}'", noteId, fullNoteOrJustParagraph, e);
}
- logger.debug("Done, index contains {} docs now" + indexWriter.numDocs());
+ LOGGER.debug("Done, index contains {} docs now {}", indexWriter.numDocs());
}
/* (non-Javadoc)
@@ -395,7 +395,7 @@ public class LuceneSearch extends SearchService {
try {
indexWriter.close();
} catch (IOException e) {
- logger.error("Failed to .close() the notebook index", e);
+ LOGGER.error("Failed to .close() the notebook index", e);
}
}
@@ -405,9 +405,9 @@ public class LuceneSearch extends SearchService {
* @throws IOException
*/
private void indexNoteName(IndexWriter w, String noteId, String noteName) throws IOException {
- logger.debug("Indexing Notebook {}, '{}'", noteId, noteName);
+ LOGGER.debug("Indexing Notebook {}, '{}'", noteId, noteName);
if (null == noteName || noteName.isEmpty()) {
- logger.debug("Skipping empty notebook name");
+ LOGGER.debug("Skipping empty notebook name");
return;
}
indexDoc(w, noteId, noteName, null);
@@ -424,12 +424,12 @@ public class LuceneSearch extends SearchService {
@Override
public void startRebuildIndex(Stream<Note> notes) {
Thread thread = new Thread(() -> {
- logger.info("Starting rebuild index");
+ LOGGER.info("Starting rebuild index");
notes.forEach(note -> {
addIndexDoc(note);
note.unLoad();
});
- logger.info("Finish rebuild index");
+ LOGGER.info("Finish rebuild index");
});
thread.setName("LuceneSearch-RebuildIndex-Thread");
thread.start();
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/storage/ConfigStorage.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/storage/ConfigStorage.java
index f4a4f3e..da6f20e 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/storage/ConfigStorage.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/storage/ConfigStorage.java
@@ -79,8 +79,7 @@ public abstract class ConfigStorage {
protected InterpreterInfoSaving buildInterpreterInfoSaving(String json) {
//TODO(zjffdu) This kind of post processing is ugly.
- JsonParser jsonParser = new JsonParser();
- JsonObject jsonObject = jsonParser.parse(json).getAsJsonObject();
+ JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
InterpreterInfoSaving infoSaving = InterpreterInfoSaving.fromJson(json);
for (InterpreterSetting interpreterSetting : infoSaving.interpreterSettings.values()) {
// Always use separate interpreter process
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
index fd2a9d2..51b3d62 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/Credentials.java
@@ -36,7 +36,7 @@ import com.google.gson.GsonBuilder;
*/
public class Credentials {
- private static final Logger LOG = LoggerFactory.getLogger(Credentials.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(Credentials.class);
private ConfigStorage storage;
private Map<String, UserCredentials> credentialsMap;
@@ -64,7 +64,7 @@ public class Credentials {
gson = builder.create();
loadFromFile();
} catch (IOException e) {
- LOG.error("Fail to create ConfigStorage for Credentials. Persistenz will be disabled", e);
+ LOGGER.error("Fail to create ConfigStorage for Credentials. Persistenz will be disabled", e);
encryptor = null;
storage = null;
gson = null;
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/CredentialsInfoSaving.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/CredentialsInfoSaving.java
index 48bb24d..e2af406 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/CredentialsInfoSaving.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/user/CredentialsInfoSaving.java
@@ -26,15 +26,15 @@ import java.util.Map;
* Helper class to save credentials
*/
public class CredentialsInfoSaving implements JsonSerializable {
- private static final Gson gson = new Gson();
+ private static final Gson GSON = new Gson();
public Map<String, UserCredentials> credentialsMap;
public String toJson() {
- return gson.toJson(this);
+ return GSON.toJson(this);
}
public static CredentialsInfoSaving fromJson(String json) {
- return gson.fromJson(json, CredentialsInfoSaving.class);
+ return GSON.fromJson(json, CredentialsInfoSaving.class);
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/FileUtils.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/FileUtils.java
index 1248d7e..2698ffc 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/FileUtils.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/FileUtils.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileSystem;
import java.nio.file.FileSystems;
import java.nio.file.Files;
@@ -33,6 +34,10 @@ import java.util.Set;
public class FileUtils {
+ private FileUtils() {
+ throw new IllegalStateException("Utility class");
+ }
+
public static void atomicWriteToFile(String content, File file, Set<PosixFilePermission> permissions) throws IOException {
FileSystem defaultFileSystem = FileSystems.getDefault();
Path destinationFilePath = defaultFileSystem.getPath(file.getCanonicalPath());
@@ -43,7 +48,7 @@ public class FileUtils {
Files.setPosixFilePermissions(tempFile.toPath(), permissions);
}
try (FileOutputStream out = new FileOutputStream(tempFile)) {
- IOUtils.write(content, out);
+ IOUtils.write(content, out, StandardCharsets.UTF_8);
} catch (IOException iox) {
if (!tempFile.delete()) {
tempFile.deleteOnExit();
@@ -68,7 +73,7 @@ public class FileUtils {
public static String readFromFile(File file) throws IOException {
try (FileInputStream is = new FileInputStream(file)) {
- return IOUtils.toString(is);
+ return IOUtils.toString(is, StandardCharsets.UTF_8);
}
}
}
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/ReflectionUtils.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/ReflectionUtils.java
index ca09992..2c9f48f 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/ReflectionUtils.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/util/ReflectionUtils.java
@@ -27,8 +27,12 @@ import java.lang.reflect.InvocationTargetException;
*/
public class ReflectionUtils {
+ private ReflectionUtils() {
+ throw new IllegalStateException("Utility class");
+ }
+
public static Class<?> getClazz(String className) throws IOException {
- Class clazz = null;
+ Class<?> clazz = null;
try {
clazz = Class.forName(className, true, Thread.currentThread().getContextClassLoader());
} catch (ClassNotFoundException e) {
@@ -42,10 +46,7 @@ public class ReflectionUtils {
T instance;
try {
instance = clazz.newInstance();
- } catch (InstantiationException e) {
- throw new IOException(
- "Unable to instantiate class with 0 arguments: " + clazz.getName(), e);
- } catch (IllegalAccessException e) {
+ } catch (InstantiationException | IllegalAccessException e) {
throw new IOException(
"Unable to instantiate class with 0 arguments: " + clazz.getName(), e);
}
@@ -60,19 +61,7 @@ public class ReflectionUtils {
try {
Constructor<T> constructor = clazz.getConstructor(parameterTypes);
instance = constructor.newInstance(parameters);
- } catch (InstantiationException e) {
- throw new IOException(
- "Unable to instantiate class with " + parameters.length + " arguments: " +
- clazz.getName(), e);
- } catch (IllegalAccessException e) {
- throw new IOException(
- "Unable to instantiate class with " + parameters.length + " arguments: " +
- clazz.getName(), e);
- } catch (NoSuchMethodException e) {
- throw new IOException(
- "Unable to instantiate class with " + parameters.length + " arguments: " +
- clazz.getName(), e);
- } catch (InvocationTargetException e) {
+ } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
throw new IOException(
"Unable to instantiate class with " + parameters.length + " arguments: " +
clazz.getName(), e);
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/helium/HeliumApplicationFactoryTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/helium/HeliumApplicationFactoryTest.java
index de2a331..50c58dc 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/helium/HeliumApplicationFactoryTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/helium/HeliumApplicationFactoryTest.java
@@ -221,9 +221,8 @@ public class HeliumApplicationFactoryTest extends AbstractInterpreterTest {
p1.setText("%fake ");
// make sure that p1's repl is null
- Interpreter intp = null;
try {
- intp = p1.getBindedInterpreter();
+ p1.getBindedInterpreter();
fail("Should throw InterpreterNotFoundException");
} catch (InterpreterNotFoundException e) {
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/InterpreterSettingManagerTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/InterpreterSettingManagerTest.java
index bf7b048..af90220 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/InterpreterSettingManagerTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/InterpreterSettingManagerTest.java
@@ -35,7 +35,6 @@ import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.mockito.Mockito.mock;
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroupTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroupTest.java
index 974ddc2..fd417cf 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroupTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/ManagedInterpreterGroupTest.java
@@ -19,8 +19,6 @@ package org.apache.zeppelin.interpreter;
import org.junit.Before;
import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.eclipse.aether.RepositoryException;
import java.io.IOException;
@@ -33,8 +31,6 @@ import static org.junit.Assert.assertEquals;
public class ManagedInterpreterGroupTest {
- private static final Logger LOGGER = LoggerFactory.getLogger(ManagedInterpreterGroupTest.class);
-
private InterpreterSetting interpreterSetting;
@Before
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/install/InstallInterpreterTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/install/InstallInterpreterTest.java
index e934f1a..04161b9 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/install/InstallInterpreterTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/install/InstallInterpreterTest.java
@@ -8,6 +8,7 @@ import org.junit.Test;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -52,7 +53,7 @@ public class InstallInterpreterTest {
interpreterList += "intp1 org.apache.commons:commons-csv:1.1 test interpreter 1\n";
interpreterList += "intp2 org.apache.commons:commons-math3:3.6.1 test interpreter 2\n";
- FileUtils.writeStringToFile(new File(tmpDir, "conf/interpreter-list"), interpreterList);
+ FileUtils.writeStringToFile(new File(tmpDir, "conf/interpreter-list"), interpreterList, StandardCharsets.UTF_8);
installer = new InstallInterpreter(interpreterListFile, interpreterBaseDir, localRepoDir
.getAbsolutePath());
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/integration/DownloadUtils.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/integration/DownloadUtils.java
index 4e6211c..49d3785 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/integration/DownloadUtils.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/integration/DownloadUtils.java
@@ -20,7 +20,6 @@ package org.apache.zeppelin.interpreter.integration;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
-import org.apache.zeppelin.interpreter.InterpreterException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,6 +29,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
/**
* Utility class for downloading spark/flink. This is used for spark/flink integration test.
@@ -104,7 +104,7 @@ public class DownloadUtils {
private static void download(String project, String version, String postFix, String projectPath) {
String projectDownloadFolder = downloadFolder + "/" + project;
try {
- String preferredMirror = IOUtils.toString(new URL("https://www.apache.org/dyn/closer.lua?preferred=true"));
+ String preferredMirror = IOUtils.toString(new URL("https://www.apache.org/dyn/closer.lua?preferred=true"), StandardCharsets.UTF_8);
File downloadFile = new File(projectDownloadFolder + "/" + project + "-" + version + postFix);
String downloadURL = preferredMirror + "/" + projectPath + "/" + project + "-" + version + "/" + project + "-" + version + postFix;
runShellCommand(new String[]{"wget", downloadURL, "-P", projectDownloadFolder});
@@ -153,6 +153,7 @@ public class DownloadUtils {
this.is = is;
}
+ @Override
public void run() {
try {
InputStreamReader isr = new InputStreamReader(is);
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/lifecycle/TimeoutLifecycleManagerTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/lifecycle/TimeoutLifecycleManagerTest.java
index a902d23..8aa8232 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/lifecycle/TimeoutLifecycleManagerTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/lifecycle/TimeoutLifecycleManagerTest.java
@@ -28,7 +28,6 @@ import org.apache.zeppelin.scheduler.Job;
import org.junit.Test;
import java.io.File;
-import java.io.FileWriter;
import java.io.IOException;
import java.util.Map;
@@ -85,7 +84,7 @@ public class TimeoutLifecycleManagerTest extends AbstractInterpreterTest {
final RemoteInterpreter remoteInterpreter = (RemoteInterpreter) interpreterFactory.getInterpreter("test.sleep", new ExecutionContextBuilder().setUser("user1").setNoteId("note1").setDefaultInterpreterGroup("test").createExecutionContext());
// simulate how zeppelin submit paragraph
- remoteInterpreter.getScheduler().submit(new Job("test-job", null) {
+ remoteInterpreter.getScheduler().submit(new Job<Object>("test-job", null) {
@Override
public Object getReturn() {
return null;
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunnerTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunnerTest.java
index 7bbd2b8..e245b24 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunnerTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/AppendOutputRunnerTest.java
@@ -33,7 +33,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
@@ -158,7 +158,7 @@ public class AppendOutputRunnerTest {
String loggerString = "Processing size for buffered append-output is high: " +
(data.length() * numEvents) + " characters.";
- assertTrue(loggerString.equals(sizeWarnLogEntry.getMessage()));
+ assertEquals(loggerString, sizeWarnLogEntry.getMessage());
}
private class BombardEvents implements Runnable {
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java
index 63e0bdc..1759595 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterTest.java
@@ -377,7 +377,7 @@ public class RemoteInterpreterTest extends AbstractInterpreterTest {
new OptionInput.ParamOption("value1", "param1"),
new OptionInput.ParamOption("value2", "param2")
};
- List<Object> defaultValues = new ArrayList();
+ List<Object> defaultValues = new ArrayList<>();
defaultValues.add("default1");
defaultValues.add("default2");
gui.checkbox("checkbox_id", paramOptions, defaultValues);
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
index 9554dcf..b8415c6 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
@@ -277,7 +277,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
Note note = notebook.createNote("note1", anonymous);
// run with default repl
Paragraph p1 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = p1.getConfig();
+ Map<String, Object> config = p1.getConfig();
config.put("enabled", true);
p1.setConfig(config);
p1.setText("%mock1 hello world");
@@ -330,7 +330,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
Note copiedNote = notebookRepo.get(note2.getId(), note2.getPath(), anonymous);
notebook.reloadAllNotes(anonymous);
List<Note> notes = notebook.getAllNotes();
- assertEquals(notes.size(), 2);
+ assertEquals(2 , notes.size());
assertEquals(notes.get(0).getId(), copiedNote.getId());
assertEquals(notes.get(0).getName(), copiedNote.getName());
// format has make some changes due to
@@ -347,7 +347,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// delete notebook from notebook list when reloadAllNotes() is called
notebook.reloadAllNotes(anonymous);
notes = notebook.getAllNotes();
- assertEquals(notes.size(), 2);
+ assertEquals(2, notes.size());
}
@Test
@@ -357,7 +357,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
assertEquals(0, notebook.getAllNotes().size());
note = notebook.createNote("note1", anonymous);
Paragraph p1 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = p1.getConfig();
+ Map<String, Object> config = p1.getConfig();
config.put("enabled", true);
p1.setConfig(config);
p1.setText("hello world");
@@ -375,7 +375,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// run with default repl
Paragraph p1 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = p1.getConfig();
+ Map<String, Object> config = p1.getConfig();
config.put("enabled", true);
p1.setConfig(config);
p1.setText("hello world");
@@ -407,7 +407,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
public void testClearParagraphOutput() throws IOException, SchedulerException {
Note note = notebook.createNote("note1", anonymous);
Paragraph p1 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = p1.getConfig();
+ Map<String, Object> config = p1.getConfig();
config.put("enabled", true);
p1.setConfig(config);
p1.setText("%mock1 hello world");
@@ -432,7 +432,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
note.run(p1.getId());
Thread.sleep(2 * 1000);
- assertEquals(p1.getStatus(), Status.FINISHED);
+ assertEquals(Status.FINISHED, p1.getStatus());
assertNull(p1.getDateStarted());
notebook.removeNote(note, anonymous);
}
@@ -445,7 +445,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
Note note = notebook.createNote("note1", anonymous);
int mock1ProcessNum = interpreterSettingManager.getByName("mock1").getAllInterpreterGroups().size();
Paragraph p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = new HashMap<>();
+ Map<String, Object> config = new HashMap<>();
p.setConfig(config);
p.setText("%mock1 sleep 100000");
p.execute(false);
@@ -479,7 +479,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
note.run(p1.getId());
Thread.sleep(2 * 1000);
- assertEquals(p1.getStatus(), Status.ERROR);
+ assertEquals(Status.ERROR, p1.getStatus());
InterpreterResult result = p1.getReturn();
assertEquals(InterpreterResult.Code.ERROR, result.code());
assertEquals("Interpreter invalid not found", result.message().get(0).getData());
@@ -493,14 +493,14 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// p1
Paragraph p1 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config1 = p1.getConfig();
+ Map<String, Object> config1 = p1.getConfig();
config1.put("enabled", true);
p1.setConfig(config1);
p1.setText("%mock1 p1");
// p2
Paragraph p2 = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config2 = p2.getConfig();
+ Map<String, Object> config2 = p2.getConfig();
config2.put("enabled", false);
p2.setConfig(config2);
p2.setText("%mock1 p2");
@@ -524,7 +524,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// create a note and a paragraph
Note note = notebook.createNote("note1", anonymous);
Paragraph p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = new HashMap<>();
+ Map<String, Object> config = new HashMap<>();
p.setConfig(config);
p.setText("p1");
Date dateFinished = p.getDateFinished();
@@ -557,7 +557,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// append running and pending paragraphs to the note
for (Status status : new Status[]{Status.RUNNING, Status.PENDING}) {
Paragraph p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = new HashMap<>();
+ Map<String, Object> config = new HashMap<>();
p.setConfig(config);
p.setText("p");
p.setStatus(status);
@@ -565,7 +565,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
}
// set cron scheduler, once a second
- Map config = note.getConfig();
+ Map<String, Object> config = note.getConfig();
config.put("enabled", true);
config.put("cron", "* * * * * ?");
note.setConfig(config);
@@ -597,7 +597,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
executeNewParagraphByCron(note, everySecondCron);
afterStatusChangedListener = new StatusChangedListener() {
@Override
- public void onStatusChanged(Job job, Status before, Status after) {
+ public void onStatusChanged(Job<?> job, Status before, Status after) {
if (after == Status.FINISHED) {
jobsToExecuteCount.countDown();
}
@@ -633,7 +633,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
executeNewParagraphByCron(note, everySecondCron);
afterStatusChangedListener = new StatusChangedListener() {
@Override
- public void onStatusChanged(Job job, Status before, Status after) {
+ public void onStatusChanged(Job<?> job, Status before, Status after) {
if (after == Status.FINISHED) {
jobsToExecuteCount.countDown();
}
@@ -663,7 +663,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
executeNewParagraphByCron(note, everySecondCron);
afterStatusChangedListener = new StatusChangedListener() {
@Override
- public void onStatusChanged(Job job, Status before, Status after) {
+ public void onStatusChanged(Job<?> job, Status before, Status after) {
if (after == Status.FINISHED) {
jobsToExecuteCount.countDown();
}
@@ -682,7 +682,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
executeNewParagraphByCron(noteNameSystem, everySecondCron);
afterStatusChangedListener = new StatusChangedListener() {
@Override
- public void onStatusChanged(Job job, Status before, Status after) {
+ public void onStatusChanged(Job<?> job, Status before, Status after) {
if (after == Status.FINISHED) {
jobsToExecuteCountNameSystem.countDown();
}
@@ -712,7 +712,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
Note note = notebook.createNote("note1", anonymous);
Paragraph p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- Map config = new HashMap<>();
+ Map<String, Object> config = new HashMap<>();
p.setConfig(config);
p.setText("%mock1 sleep 1000");
@@ -759,24 +759,19 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
throws IOException, InterruptedException, InterpreterNotFoundException {
// create a cron scheduled note.
Note cronNote = notebook.createNote("note1", anonymous);
-
- cronNote.setConfig(new HashMap() {
- {
- put("cron", "1/5 * * * * ?");
- put("cronExecutingUser", anonymous.getUser());
- put("releaseresource", true);
- }
- });
+ Map<String, Object> config = new HashMap<>();
+ config.put("cron", "1/5 * * * * ?");
+ config.put("cronExecutingUser", anonymous.getUser());
+ config.put("releaseresource", true);
+ cronNote.setConfig(config);
RemoteInterpreter cronNoteInterpreter =
(RemoteInterpreter) interpreterFactory.getInterpreter("mock1", new ExecutionContextBuilder().setUser(anonymous.getUser()).setNoteId(cronNote.getId()).setDefaultInterpreterGroup("test").createExecutionContext());
// create a paragraph of the cron scheduled note.
Paragraph cronNoteParagraph = cronNote.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- cronNoteParagraph.setConfig(new HashMap() {
- {
- put("enabled", true);
- }
- });
+ config = new HashMap<>();
+ config.put("enabled", true);
+ cronNoteParagraph.setConfig(config);
cronNoteParagraph.setText("%mock1 sleep 1000");
// create another note
@@ -787,11 +782,9 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// create a paragraph of another note
Paragraph anotherNoteParagraph = anotherNote.addNewParagraph(AuthenticationInfo.ANONYMOUS);
- anotherNoteParagraph.setConfig(new HashMap() {
- {
- put("enabled", true);
- }
- });
+ config = new HashMap<>();
+ config.put("enabled", true);
+ anotherNoteParagraph.setConfig(config);
anotherNoteParagraph.setText("%mock2 echo 1");
// run the paragraph of another note
@@ -821,13 +814,11 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
assertTrue(anotherNoteInterpreter.isOpened());
// remove cron scheduler
- cronNote.setConfig(new HashMap() {
- {
- put("cron", null);
- put("cronExecutingUser", null);
- put("releaseresource", null);
- }
- });
+ config = new HashMap<>();
+ config.put("cron", null);
+ config.put("cronExecutingUser", null);
+ config.put("releaseresource", null);
+ cronNote.setConfig(config);
schedulerService.refreshCron(cronNote.getId());
// remove notebooks
@@ -901,7 +892,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
p.setStatus(Status.RUNNING);
Note cloneNote = notebook.cloneNote(note.getId(), "clone note", anonymous);
Paragraph cp = cloneNote.getParagraph(0);
- assertEquals(cp.getStatus(), Status.READY);
+ assertEquals(Status.READY, cp.getStatus());
// Keep same ParagraphId
assertEquals(cp.getId(), p.getId());
@@ -1039,14 +1030,14 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// create a note and a paragraph
Note note = notebook.createNote("note1", anonymous);
// empty owners, readers or writers means note is public
- assertEquals(authorizationService.isOwner(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
- assertEquals(authorizationService.isReader(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
- assertEquals(authorizationService.isRunner(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
- assertEquals(authorizationService.isWriter(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
+ assertTrue(authorizationService.isOwner(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isReader(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isRunner(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isWriter(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
authorizationService.setOwners(note.getId(),
new HashSet<>(Arrays.asList("user1")));
@@ -1057,32 +1048,32 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
authorizationService.setWriters(note.getId(),
new HashSet<>(Arrays.asList("user1")));
- assertEquals(authorizationService.isOwner(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), false);
- assertEquals(authorizationService.isOwner(note.getId(),
- new HashSet<>(Arrays.asList("user1"))), true);
+ assertFalse(authorizationService.isOwner(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isOwner(note.getId(),
+ new HashSet<>(Arrays.asList("user1"))));
- assertEquals(authorizationService.isReader(note.getId(),
- new HashSet<>(Arrays.asList("user4"))), false);
- assertEquals(authorizationService.isReader(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
+ assertFalse(authorizationService.isReader(note.getId(),
+ new HashSet<>(Arrays.asList("user4"))));
+ assertTrue(authorizationService.isReader(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
- assertEquals(authorizationService.isRunner(note.getId(),
- new HashSet<>(Arrays.asList("user3"))), true);
- assertEquals(authorizationService.isRunner(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), false);
+ assertTrue(authorizationService.isRunner(note.getId(),
+ new HashSet<>(Arrays.asList("user3"))));
+ assertFalse(authorizationService.isRunner(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
- assertEquals(authorizationService.isWriter(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), false);
- assertEquals(authorizationService.isWriter(note.getId(),
- new HashSet<>(Arrays.asList("user1"))), true);
+ assertFalse(authorizationService.isWriter(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isWriter(note.getId(),
+ new HashSet<>(Arrays.asList("user1"))));
// Test clearing of permissions
authorizationService.setReaders(note.getId(), Sets.<String>newHashSet());
- assertEquals(authorizationService.isReader(note.getId(),
- new HashSet<>(Arrays.asList("user2"))), true);
- assertEquals(authorizationService.isReader(note.getId(),
- new HashSet<>(Arrays.asList("user4"))), true);
+ assertTrue(authorizationService.isReader(note.getId(),
+ new HashSet<>(Arrays.asList("user2"))));
+ assertTrue(authorizationService.isReader(note.getId(),
+ new HashSet<>(Arrays.asList("user4"))));
notebook.removeNote(note, anonymous);
}
@@ -1099,37 +1090,37 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
Note note = notebook.createNote("note1", new AuthenticationInfo(user1));
// check that user1 is owner, reader, runner and writer
- assertEquals(authorizationService.isOwner(note.getId(),
- Sets.newHashSet(user1)), true);
- assertEquals(authorizationService.isReader(note.getId(),
- Sets.newHashSet(user1)), true);
- assertEquals(authorizationService.isRunner(note.getId(),
- Sets.newHashSet(user2)), true);
- assertEquals(authorizationService.isWriter(note.getId(),
- Sets.newHashSet(user1)), true);
+ assertTrue(authorizationService.isOwner(note.getId(),
+ Sets.newHashSet(user1)));
+ assertTrue(authorizationService.isReader(note.getId(),
+ Sets.newHashSet(user1)));
+ assertTrue(authorizationService.isRunner(note.getId(),
+ Sets.newHashSet(user2)));
+ assertTrue(authorizationService.isWriter(note.getId(),
+ Sets.newHashSet(user1)));
// since user1 and user2 both have admin role, user2 will be reader and writer as well
- assertEquals(authorizationService.isOwner(note.getId(),
- Sets.newHashSet(user2)), false);
- assertEquals(authorizationService.isReader(note.getId(),
- Sets.newHashSet(user2)), true);
- assertEquals(authorizationService.isRunner(note.getId(),
- Sets.newHashSet(user2)), true);
- assertEquals(authorizationService.isWriter(note.getId(),
- Sets.newHashSet(user2)), true);
+ assertFalse(authorizationService.isOwner(note.getId(),
+ Sets.newHashSet(user2)));
+ assertTrue(authorizationService.isReader(note.getId(),
+ Sets.newHashSet(user2)));
+ assertTrue(authorizationService.isRunner(note.getId(),
+ Sets.newHashSet(user2)));
+ assertTrue(authorizationService.isWriter(note.getId(),
+ Sets.newHashSet(user2)));
// check that user1 has note listed in his workbench
Set<String> user1AndRoles = authorizationService.getRoles(user1);
user1AndRoles.add(user1);
List<NoteInfo> user1Notes = notebook.getNotesInfo(noteId -> authorizationService.isReader(noteId, user1AndRoles));
- assertEquals(user1Notes.size(), 1);
+ assertEquals(1, user1Notes.size());
assertEquals(user1Notes.get(0).getId(), note.getId());
// check that user2 has note listed in his workbench because of admin role
Set<String> user2AndRoles = authorizationService.getRoles(user2);
user2AndRoles.add(user2);
List<NoteInfo> user2Notes = notebook.getNotesInfo(noteId -> authorizationService.isReader(noteId, user2AndRoles));
- assertEquals(user2Notes.size(), 1);
+ assertEquals(1, user2Notes.size());
assertEquals(user2Notes.get(0).getId(), note.getId());
}
@@ -1145,9 +1136,9 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
assertTrue(config.containsKey(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE));
assertTrue(config.containsKey(InterpreterSetting.PARAGRAPH_CONFIG_TITLE));
assertTrue(config.containsKey(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY));
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE), false);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE), true);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY), false);
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE));
+ assertEquals(true, config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE));
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY));
// The config_test interpreter sets the default parameters
// in interpreter/config_test/interpreter-setting.json
@@ -1161,9 +1152,9 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// Check if the config_test interpreter default parameter takes effect
LOGGER.info("p1.getConfig() = " + p1.getConfig());
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE), false);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE), true);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY), false);
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE));
+ assertEquals(true, config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE));
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY));
// The mock1 interpreter does not set default parameters
p1.setText("%mock1 sleep 1000");
@@ -1171,9 +1162,9 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// mock1 has no config setting in interpreter-setting.json, so keep the previous config
LOGGER.info("changed intp p1.getConfig() = " + p1.getConfig());
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE), false);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE), true);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY), false);
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE));
+ assertEquals(true, config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE));
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY));
// user manually change config
p1.getConfig().put(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE, true);
@@ -1183,9 +1174,9 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// manually config change take effect after execution
LOGGER.info("changed intp p1.getConfig() = " + p1.getConfig());
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE), true);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE), false);
- assertEquals(config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY), false);
+ assertEquals(true, config.get(InterpreterSetting.PARAGRAPH_CONFIG_RUNONSELECTIONCHANGE));
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_TITLE));
+ assertEquals(false, config.get(InterpreterSetting.PARAGRAPH_CONFIG_CHECK_EMTPY));
}
@Test
@@ -1231,7 +1222,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// restart interpreter with per user session enabled
for (InterpreterSetting setting : note1.getBindedInterpreterSettings(new ArrayList<>())) {
- setting.getOption().setPerNote(setting.getOption().SCOPED);
+ setting.getOption().setPerNote(InterpreterOption.SCOPED);
notebook.getInterpreterSettingManager().restart(setting.getId());
}
@@ -1290,7 +1281,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
while (p1.getStatus() != Status.FINISHED) Thread.yield();
while (p2.getStatus() != Status.FINISHED) Thread.yield();
- assertNotEquals(p1.getReturn().message(), p2.getReturn().message().get(0).getData());
+ assertNotEquals(p1.getReturn().message().get(0).getData(), p2.getReturn().message().get(0).getData());
notebook.removeNote(note1, anonymous);
notebook.removeNote(note2, anonymous);
@@ -1456,8 +1447,8 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
public void testGetAllNotesWithDifferentPermissions() throws IOException {
List<Note> notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
List<Note> notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 0);
- assertEquals(notes2.size(), 0);
+ assertEquals(0, notes1.size());
+ assertEquals(0, notes2.size());
//creates note and sets user1 owner
Note note1 = notebook.createNote("note1", new AuthenticationInfo("user1"));
@@ -1465,27 +1456,27 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// note is public since readers and writers empty
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 1);
+ assertEquals(1, notes1.size());
+ assertEquals(1, notes2.size());
authorizationService.setReaders(note1.getId(), Sets.newHashSet("user1"));
//note is public since writers empty
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 1);
+ assertEquals(1, notes1.size());
+ assertEquals(1, notes2.size());
authorizationService.setRunners(note1.getId(), Sets.newHashSet("user1"));
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 1);
+ assertEquals(1, notes1.size());
+ assertEquals(1, notes2.size());
authorizationService.setWriters(note1.getId(), Sets.newHashSet("user1"));
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 0);
+ assertEquals(1, notes1.size());
+ assertEquals(0, notes2.size());
}
@Test
@@ -1496,8 +1487,8 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
List<Note> notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
List<Note> notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 0);
- assertEquals(notes2.size(), 0);
+ assertEquals(0, notes1.size());
+ assertEquals(0, notes2.size());
// user1 creates note
Note notePublic = notebook.createNote("note1", new AuthenticationInfo("user1"));
@@ -1505,16 +1496,16 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// both users have note
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 1);
+ assertEquals(1, notes1.size());
+ assertEquals(1, notes2.size());
assertEquals(notes1.get(0).getId(), notePublic.getId());
assertEquals(notes2.get(0).getId(), notePublic.getId());
// user1 is only owner
- assertEquals(authorizationService.getOwners(notePublic.getId()).size(), 1);
- assertEquals(authorizationService.getReaders(notePublic.getId()).size(), 0);
- assertEquals(authorizationService.getRunners(notePublic.getId()).size(), 0);
- assertEquals(authorizationService.getWriters(notePublic.getId()).size(), 0);
+ assertEquals(1, authorizationService.getOwners(notePublic.getId()).size());
+ assertEquals(0, authorizationService.getReaders(notePublic.getId()).size());
+ assertEquals(0, authorizationService.getRunners(notePublic.getId()).size());
+ assertEquals(0, authorizationService.getWriters(notePublic.getId()).size());
// case of private note
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_PUBLIC.getVarName(), "false");
@@ -1526,8 +1517,8 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// check that still 1 note per user
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 1);
- assertEquals(notes2.size(), 1);
+ assertEquals(1, notes1.size());
+ assertEquals(1, notes2.size());
// create private note
Note notePrivate = notebook.createNote("note2", new AuthenticationInfo("user1"));
@@ -1535,15 +1526,15 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
// only user1 have notePrivate right after creation
notes1 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user1")));
notes2 = notebook.getAllNotes(note -> authorizationService.isReader(note.getId(), Sets.newHashSet("user2")));
- assertEquals(notes1.size(), 2);
- assertEquals(notes2.size(), 1);
+ assertEquals(2, notes1.size());
+ assertEquals(1, notes2.size());
assertEquals(true, notes1.contains(notePrivate));
// user1 have all rights
- assertEquals(authorizationService.getOwners(notePrivate.getId()).size(), 1);
- assertEquals(authorizationService.getReaders(notePrivate.getId()).size(), 1);
- assertEquals(authorizationService.getRunners(notePrivate.getId()).size(), 1);
- assertEquals(authorizationService.getWriters(notePrivate.getId()).size(), 1);
+ assertEquals(1, authorizationService.getOwners(notePrivate.getId()).size());
+ assertEquals(1, authorizationService.getReaders(notePrivate.getId()).size());
+ assertEquals(1, authorizationService.getRunners(notePrivate.getId()).size());
+ assertEquals(1, authorizationService.getWriters(notePrivate.getId()).size());
//set back public to true
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_PUBLIC.getVarName(), "true");
@@ -1603,7 +1594,7 @@ public class NotebookTest extends AbstractInterpreterTest implements ParagraphJo
private interface StatusChangedListener {
- void onStatusChanged(Job job, Status before, Status after);
+ void onStatusChanged(Job<?> job, Status before, Status after);
}
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/ParagraphTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/ParagraphTest.java
index bc05f7a..4bd41f9 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/ParagraphTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/ParagraphTest.java
@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotNull;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -64,9 +63,6 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
-import java.util.HashMap;
-import java.util.Map;
-
import org.mockito.Mockito;
import com.google.common.collect.Lists;
@@ -228,10 +224,10 @@ public class ParagraphTest extends AbstractInterpreterTest {
final Paragraph paragraph = new Paragraph(note, null);
final String paragraphId = paragraph.getId();
- final AngularObject nameAO = AngularObjectBuilder.build("name", "DuyHai DOAN", noteId,
+ final AngularObject<String> nameAO = AngularObjectBuilder.build("name", "DuyHai DOAN", noteId,
paragraphId);
- final AngularObject ageAO = AngularObjectBuilder.build("age", 34, noteId, null);
+ final AngularObject<Integer> ageAO = AngularObjectBuilder.build("age", 34, noteId, null);
when(note.getId()).thenReturn(noteId);
when(registry.get("name", noteId, paragraphId)).thenReturn(nameAO);
@@ -390,14 +386,14 @@ public class ParagraphTest extends AbstractInterpreterTest {
AuthenticationInfo user1 = new AuthenticationInfo("user1");
spyParagraph.setAuthenticationInfo(user1);
-
+
spyParagraph.setText("val x = \"usr={user.ent}&pass={password.ent}\"");
-
+
// Credentials should only be injected when it is enabled for an interpreter or when specified in a local property
when(mockInterpreter.getProperty(Constants.INJECT_CREDENTIALS, "false")).thenReturn("false");
spyParagraph.jobRun();
verify(mockInterpreter).interpret(eq("val x = \"usr={user.ent}&pass={password.ent}\""), any(InterpreterContext.class));
-
+
when(mockInterpreter.getProperty(Constants.INJECT_CREDENTIALS, "false")).thenReturn("true");
mockInterpreter.setProperty(Constants.INJECT_CREDENTIALS, "true");
spyParagraph.jobRun();
@@ -408,6 +404,6 @@ public class ParagraphTest extends AbstractInterpreterTest {
spyParagraph.getLocalProperties().put(Constants.INJECT_CREDENTIALS, "true");
spyParagraph.jobRun();
verify(mockInterpreter).interpret(eq("val x = \"usr=user&pass=pwd\""), any(InterpreterContext.class));
-
+
}
}
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/resource/DistributedResourcePoolTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/resource/DistributedResourcePoolTest.java
index 54c09b6..8c07c2e 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/resource/DistributedResourcePoolTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/resource/DistributedResourcePoolTest.java
@@ -20,7 +20,6 @@ import com.google.gson.Gson;
import org.apache.zeppelin.interpreter.AbstractInterpreterTest;
import org.apache.zeppelin.interpreter.InterpreterContext;
import org.apache.zeppelin.interpreter.InterpreterException;
-import org.apache.zeppelin.interpreter.InterpreterOption;
import org.apache.zeppelin.interpreter.InterpreterResult;
import org.apache.zeppelin.interpreter.InterpreterSetting;
import org.apache.zeppelin.interpreter.remote.RemoteInterpreter;
@@ -42,6 +41,7 @@ public class DistributedResourcePoolTest extends AbstractInterpreterTest {
private InterpreterContext context;
+ @Override
@Before
public void setUp() throws Exception {
super.setUp();
@@ -59,6 +59,7 @@ public class DistributedResourcePoolTest extends AbstractInterpreterTest {
intp2.open();
}
+ @Override
@After
public void tearDown() throws Exception {
interpreterSettingManager.close();
@@ -96,7 +97,6 @@ public class DistributedResourcePoolTest extends AbstractInterpreterTest {
set.addAll(pool3.getAll());
ResourceSet remoteSet = new ResourceSet();
- Gson gson = new Gson();
for (Resource s : set) {
RemoteResource remoteResource = RemoteResource.fromJson(s.toJson());
remoteResource.setResourcePoolConnector(this);
@@ -150,7 +150,6 @@ public class DistributedResourcePoolTest extends AbstractInterpreterTest {
@Test
public void testResourcePoolUtils() throws InterpreterException {
Gson gson = new Gson();
- InterpreterResult ret;
// when create some resources
intp1.interpret("put note1:paragraph1:key1 value1", context);
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
index 8b84243..1a7baf7 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/scheduler/RemoteSchedulerTest.java
@@ -70,7 +70,7 @@ public class RemoteSchedulerTest extends AbstractInterpreterTest
Scheduler scheduler = intpA.getScheduler();
- Job job = new Job("jobId", "jobName", null) {
+ Job<Object> job = new Job<Object>("jobId", "jobName", null) {
Object results;
@Override
@@ -139,7 +139,7 @@ public class RemoteSchedulerTest extends AbstractInterpreterTest
Scheduler scheduler = intpA.getScheduler();
- Job job1 = new Job("jobId1", "jobName1", null) {
+ Job<Object> job1 = new Job<Object>("jobId1", "jobName1", null) {
Object results;
InterpreterContext context = InterpreterContext.builder()
.setNoteId("noteId")
@@ -186,7 +186,7 @@ public class RemoteSchedulerTest extends AbstractInterpreterTest
}
};
- Job job2 = new Job("jobId2", "jobName2", null) {
+ Job<Object> job2 = new Job<Object>("jobId2", "jobName2", null) {
public Object results;
InterpreterContext context = InterpreterContext.builder()
.setNoteId("noteId")
@@ -245,7 +245,7 @@ public class RemoteSchedulerTest extends AbstractInterpreterTest
cycles++;
}
assertTrue(job1.isRunning());
- assertTrue(job2.getStatus() == Status.PENDING);
+ assertEquals(Status.PENDING, job2.getStatus());
job2.abort();
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/storage/LocalConfigStorageTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/storage/LocalConfigStorageTest.java
index 5352d9b..85763f9 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/storage/LocalConfigStorageTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/storage/LocalConfigStorageTest.java
@@ -25,6 +25,7 @@ import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -42,7 +43,7 @@ public class LocalConfigStorageTest {
try {
FileUtils.atomicWriteToFile(TEST_STRING, destinationFile);
try (InputStream is = Files.newInputStream(destination)) {
- String read = IOUtils.toString(is);
+ String read = IOUtils.toString(is, StandardCharsets.UTF_8);
assertEquals(TEST_STRING, read);
}
} finally {
@@ -59,7 +60,7 @@ public class LocalConfigStorageTest {
try {
FileUtils.atomicWriteToFile(TEST_STRING, destinationFile);
try (InputStream is = Files.newInputStream(destination)) {
- String read = IOUtils.toString(is);
+ String read = IOUtils.toString(is, StandardCharsets.UTF_8);
assertEquals(TEST_STRING, read);
}
} finally {