You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by jo...@apache.org on 2018/08/26 04:44:00 UTC
[17/49] zeppelin git commit: [ZEPPELIN-3740] Adopt
`google-java-format` and `fmt-maven-plugin`
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/launcher/standard/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/launcher/standard/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java b/zeppelin-plugins/launcher/standard/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
index 9c7a0b2..cd3c399 100644
--- a/zeppelin-plugins/launcher/standard/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
+++ b/zeppelin-plugins/launcher/standard/src/main/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncher.java
@@ -15,9 +15,11 @@
* limitations under the License.
*/
-
package org.apache.zeppelin.interpreter.launcher;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.interpreter.InterpreterOption;
import org.apache.zeppelin.interpreter.InterpreterRunner;
@@ -28,13 +30,7 @@ import org.apache.zeppelin.interpreter.remote.RemoteInterpreterUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Interpreter Launcher which use shell script to launch the interpreter process.
- */
+/** Interpreter Launcher which use shell script to launch the interpreter process. */
public class StandardInterpreterLauncher extends InterpreterLauncher {
private static final Logger LOGGER = LoggerFactory.getLogger(StandardInterpreterLauncher.class);
@@ -55,10 +51,7 @@ public class StandardInterpreterLauncher extends InterpreterLauncher {
if (option.isExistingProcess()) {
return new RemoteInterpreterRunningProcess(
- context.getInterpreterSettingName(),
- connectTimeout,
- option.getHost(),
- option.getPort());
+ context.getInterpreterSettingName(), connectTimeout, option.getHost(), option.getPort());
} else {
// try to recover it first
if (zConf.isRecoveryEnabled()) {
@@ -66,25 +59,38 @@ public class StandardInterpreterLauncher extends InterpreterLauncher {
recoveryStorage.getInterpreterClient(context.getInterpreterGroupId());
if (recoveredClient != null) {
if (recoveredClient.isRunning()) {
- LOGGER.info("Recover interpreter process: " + recoveredClient.getHost() + ":" +
- recoveredClient.getPort());
+ LOGGER.info(
+ "Recover interpreter process: "
+ + recoveredClient.getHost()
+ + ":"
+ + recoveredClient.getPort());
return recoveredClient;
} else {
- LOGGER.warn("Cannot recover interpreter process: " + recoveredClient.getHost() + ":"
- + recoveredClient.getPort() + ", as it is already terminated.");
+ LOGGER.warn(
+ "Cannot recover interpreter process: "
+ + recoveredClient.getHost()
+ + ":"
+ + recoveredClient.getPort()
+ + ", as it is already terminated.");
}
}
}
// create new remote process
- String localRepoPath = zConf.getInterpreterLocalRepoPath() + "/"
- + context.getInterpreterSettingId();
+ String localRepoPath =
+ zConf.getInterpreterLocalRepoPath() + "/" + context.getInterpreterSettingId();
return new RemoteInterpreterManagedProcess(
runner != null ? runner.getPath() : zConf.getInterpreterRemoteRunnerPath(),
- context.getZeppelinServerRPCPort(), context.getZeppelinServerHost(), zConf.getInterpreterPortRange(),
- zConf.getInterpreterDir() + "/" + groupName, localRepoPath,
- buildEnvFromProperties(context), connectTimeout, name,
- context.getInterpreterGroupId(), option.isUserImpersonate());
+ context.getZeppelinServerRPCPort(),
+ context.getZeppelinServerHost(),
+ zConf.getInterpreterPortRange(),
+ zConf.getInterpreterDir() + "/" + groupName,
+ localRepoPath,
+ buildEnvFromProperties(context),
+ connectTimeout,
+ name,
+ context.getInterpreterGroupId(),
+ option.isUserImpersonate());
}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/launcher/standard/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/launcher/standard/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java b/zeppelin-plugins/launcher/standard/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java
index 1861636..4f05f29 100644
--- a/zeppelin-plugins/launcher/standard/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java
+++ b/zeppelin-plugins/launcher/standard/src/test/java/org/apache/zeppelin/interpreter/launcher/StandardInterpreterLauncherTest.java
@@ -17,18 +17,17 @@
package org.apache.zeppelin.interpreter.launcher;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.util.Properties;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.interpreter.InterpreterOption;
import org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess;
import org.junit.Before;
import org.junit.Test;
-import java.io.IOException;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
public class StandardInterpreterLauncherTest {
@Before
public void setUp() {
@@ -46,14 +45,26 @@ public class StandardInterpreterLauncherTest {
properties.setProperty("property_1", "value_1");
InterpreterOption option = new InterpreterOption();
option.setUserImpersonate(true);
- InterpreterLaunchContext context = new InterpreterLaunchContext(properties, option, null, "user1", "intpGroupId", "groupId", "groupName", "name", 0, "host");
+ InterpreterLaunchContext context =
+ new InterpreterLaunchContext(
+ properties,
+ option,
+ null,
+ "user1",
+ "intpGroupId",
+ "groupId",
+ "groupName",
+ "name",
+ 0,
+ "host");
InterpreterClient client = launcher.launch(context);
- assertTrue( client instanceof RemoteInterpreterManagedProcess);
+ assertTrue(client instanceof RemoteInterpreterManagedProcess);
RemoteInterpreterManagedProcess interpreterProcess = (RemoteInterpreterManagedProcess) client;
assertEquals("name", interpreterProcess.getInterpreterSettingName());
assertEquals(".//interpreter/groupName", interpreterProcess.getInterpreterDir());
assertEquals(".//local-repo/groupId", interpreterProcess.getLocalRepoDir());
- assertEquals(ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT.getIntValue(),
+ assertEquals(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT.getIntValue(),
interpreterProcess.getConnectTimeout());
assertEquals(zConf.getInterpreterRemoteRunnerPath(), interpreterProcess.getInterpreterRunner());
assertEquals(1, interpreterProcess.getEnv().size());
@@ -70,9 +81,20 @@ public class StandardInterpreterLauncherTest {
ZeppelinConfiguration.ConfVars.ZEPPELIN_INTERPRETER_CONNECT_TIMEOUT.getVarName(), "10000");
InterpreterOption option = new InterpreterOption();
option.setUserImpersonate(true);
- InterpreterLaunchContext context = new InterpreterLaunchContext(properties, option, null, "user1", "intpGroupId", "groupId", "groupName", "name", 0, "host");
+ InterpreterLaunchContext context =
+ new InterpreterLaunchContext(
+ properties,
+ option,
+ null,
+ "user1",
+ "intpGroupId",
+ "groupId",
+ "groupName",
+ "name",
+ 0,
+ "host");
InterpreterClient client = launcher.launch(context);
- assertTrue( client instanceof RemoteInterpreterManagedProcess);
+ assertTrue(client instanceof RemoteInterpreterManagedProcess);
RemoteInterpreterManagedProcess interpreterProcess = (RemoteInterpreterManagedProcess) client;
assertEquals("name", interpreterProcess.getInterpreterSettingName());
assertEquals(".//interpreter/groupName", interpreterProcess.getInterpreterDir());
@@ -82,5 +104,4 @@ public class StandardInterpreterLauncherTest {
assertEquals(0, interpreterProcess.getEnv().size());
assertEquals(true, interpreterProcess.isUserImpersonated());
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java b/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
index 12dbd90..63725cd 100644
--- a/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/azure/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
@@ -30,7 +30,6 @@ import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.URISyntaxException;
-import java.security.InvalidKeyException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
@@ -44,9 +43,7 @@ import org.apache.zeppelin.user.AuthenticationInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * Azure storage backend for notebooks
- */
+/** Azure storage backend for notebooks */
public class AzureNotebookRepo implements NotebookRepo {
private static final Logger LOG = LoggerFactory.getLogger(AzureNotebookRepo.class);
@@ -55,9 +52,7 @@ public class AzureNotebookRepo implements NotebookRepo {
private String shareName;
private CloudFileDirectory rootDir;
- public AzureNotebookRepo() {
-
- }
+ public AzureNotebookRepo() {}
public void init(ZeppelinConfiguration conf) throws IOException {
this.conf = conf;
@@ -65,15 +60,18 @@ public class AzureNotebookRepo implements NotebookRepo {
shareName = conf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_AZURE_SHARE);
try {
- CloudStorageAccount account = CloudStorageAccount.parse(
- conf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_AZURE_CONNECTION_STRING));
+ CloudStorageAccount account =
+ CloudStorageAccount.parse(
+ conf.getString(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_AZURE_CONNECTION_STRING));
CloudFileClient client = account.createCloudFileClient();
CloudFileShare share = client.getShareReference(shareName);
share.createIfNotExists();
- CloudFileDirectory userDir = StringUtils.isBlank(user) ?
- share.getRootDirectoryReference() :
- share.getRootDirectoryReference().getDirectoryReference(user);
+ CloudFileDirectory userDir =
+ StringUtils.isBlank(user)
+ ? share.getRootDirectoryReference()
+ : share.getRootDirectoryReference().getDirectoryReference(user);
userDir.createIfNotExists();
rootDir = userDir.getDirectoryReference("notebook");
@@ -128,8 +126,8 @@ public class AzureNotebookRepo implements NotebookRepo {
throw new IOException(msg, e);
}
- String json = IOUtils.toString(ins,
- conf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_ENCODING));
+ String json =
+ IOUtils.toString(ins, conf.getString(ZeppelinConfiguration.ConfVars.ZEPPELIN_ENCODING));
ins.close();
return Note.fromJson(json);
}
@@ -199,8 +197,7 @@ public class AzureNotebookRepo implements NotebookRepo {
}
@Override
- public void close() {
- }
+ public void close() {}
@Override
public List<NotebookRepoSettingsInfo> getSettings(AuthenticationInfo subject) {
@@ -212,5 +209,4 @@ public class AzureNotebookRepo implements NotebookRepo {
public void updateSettings(Map<String, String> settings, AuthenticationInfo subject) {
LOG.warn("Method not implemented");
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/filesystem/src/main/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/filesystem/src/main/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepo.java b/zeppelin-plugins/notebookrepo/filesystem/src/main/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepo.java
index 5d9c85c..8d1bf4d 100644
--- a/zeppelin-plugins/notebookrepo/filesystem/src/main/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/filesystem/src/main/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepo.java
@@ -1,12 +1,10 @@
package org.apache.zeppelin.notebook.repo;
-import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.fs.FileStatus;
-import org.apache.hadoop.fs.FileSystem;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.io.IOUtils;
-import org.apache.hadoop.security.UserGroupInformation;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.notebook.FileSystemStorage;
import org.apache.zeppelin.notebook.Note;
@@ -15,25 +13,11 @@ import org.apache.zeppelin.user.AuthenticationInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.security.PrivilegedExceptionAction;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
/**
* NotebookRepos for hdfs.
*
- * Assume the notebook directory structure is as following
- * - notebookdir
- * - noteId/note.json
- * - noteId/note.json
- * - noteId/note.json
+ * <p>Assume the notebook directory structure is as following - notebookdir - noteId/note.json -
+ * noteId/note.json - noteId/note.json
*/
public class FileSystemNotebookRepo implements NotebookRepo {
private static final Logger LOGGER = LoggerFactory.getLogger(FileSystemNotebookRepo.class);
@@ -41,14 +25,12 @@ public class FileSystemNotebookRepo implements NotebookRepo {
private FileSystemStorage fs;
private Path notebookDir;
- public FileSystemNotebookRepo() {
-
- }
+ public FileSystemNotebookRepo() {}
public void init(ZeppelinConfiguration zConf) throws IOException {
this.fs = new FileSystemStorage(zConf, zConf.getNotebookDir());
- LOGGER.info("Creating FileSystem: " + this.fs.getFs().getClass().getName() +
- " for Zeppelin Notebook.");
+ LOGGER.info(
+ "Creating FileSystem: " + this.fs.getFs().getClass().getName() + " for Zeppelin Notebook.");
this.notebookDir = this.fs.makeQualified(new Path(zConf.getNotebookDir()));
LOGGER.info("Using folder {} to store notebook", notebookDir);
this.fs.tryMkDir(notebookDir);
@@ -67,16 +49,15 @@ public class FileSystemNotebookRepo implements NotebookRepo {
@Override
public Note get(final String noteId, AuthenticationInfo subject) throws IOException {
- String content = this.fs.readFile(
- new Path(notebookDir.toString() + "/" + noteId + "/note.json"));
+ String content =
+ this.fs.readFile(new Path(notebookDir.toString() + "/" + noteId + "/note.json"));
return Note.fromJson(content);
}
@Override
public void save(final Note note, AuthenticationInfo subject) throws IOException {
- this.fs.writeFile(note.toJson(),
- new Path(notebookDir.toString() + "/" + note.getId() + "/note.json"),
- true);
+ this.fs.writeFile(
+ note.toJson(), new Path(notebookDir.toString() + "/" + note.getId() + "/note.json"), true);
}
@Override
@@ -99,5 +80,4 @@ public class FileSystemNotebookRepo implements NotebookRepo {
public void updateSettings(Map<String, String> settings, AuthenticationInfo subject) {
LOGGER.warn("updateSettings is not implemented for HdfsNotebookRepo");
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/filesystem/src/test/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepoTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/filesystem/src/test/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepoTest.java b/zeppelin-plugins/notebookrepo/filesystem/src/test/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepoTest.java
index 5fd8becc..cbbe5a6 100644
--- a/zeppelin-plugins/notebookrepo/filesystem/src/test/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepoTest.java
+++ b/zeppelin-plugins/notebookrepo/filesystem/src/test/java/org/apache/zeppelin/notebook/repo/FileSystemNotebookRepoTest.java
@@ -1,6 +1,13 @@
package org.apache.zeppelin.notebook.repo;
+import static org.junit.Assert.assertEquals;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
@@ -12,15 +19,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.file.Files;
-import java.util.HashMap;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-
public class FileSystemNotebookRepoTest {
private ZeppelinConfiguration zConf;
@@ -32,9 +30,11 @@ public class FileSystemNotebookRepoTest {
@Before
public void setUp() throws IOException {
- notebookDir = Files.createTempDirectory("FileSystemNotebookRepoTest").toFile().getAbsolutePath();
+ notebookDir =
+ Files.createTempDirectory("FileSystemNotebookRepoTest").toFile().getAbsolutePath();
zConf = new ZeppelinConfiguration();
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), notebookDir);
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), notebookDir);
hadoopConf = new Configuration();
fs = FileSystem.get(hadoopConf);
hdfsNotebookRepo = new FileSystemNotebookRepo();
@@ -80,7 +80,8 @@ public class FileSystemNotebookRepoTest {
@Test
public void testComplicatedScenarios() throws IOException {
- // scenario_1: notebook_dir is not clean. There're some unrecognized dir and file under notebook_dir
+ // scenario_1: notebook_dir is not clean. There're some unrecognized dir and file under
+ // notebook_dir
fs.mkdirs(new Path(notebookDir, "1/2"));
OutputStream out = fs.create(new Path(notebookDir, "1/a.json"));
out.close();
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/gcs/src/main/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/gcs/src/main/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepo.java b/zeppelin-plugins/notebookrepo/gcs/src/main/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepo.java
index ad99aba..7647fbc 100644
--- a/zeppelin-plugins/notebookrepo/gcs/src/main/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/gcs/src/main/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepo.java
@@ -49,14 +49,14 @@ import org.slf4j.LoggerFactory;
/**
* A NotebookRepo implementation for storing notebooks in Google Cloud Storage.
*
- * Notes are stored in the GCS "directory" specified by zeppelin.notebook.gcs.dir. This path
- * must be in the form gs://bucketName/path/to/Dir. The bucket must already exist. N.B: GCS is an
- * object store, so this "directory" should not itself be an object. Instead, it represents the base
- * path for the note.json files.
+ * <p>Notes are stored in the GCS "directory" specified by zeppelin.notebook.gcs.dir. This path must
+ * be in the form gs://bucketName/path/to/Dir. The bucket must already exist. N.B: GCS is an object
+ * store, so this "directory" should not itself be an object. Instead, it represents the base path
+ * for the note.json files.
*
- * Authentication is provided by google-auth-library-java.
- * @see <a href="https://github.com/google/google-auth-library-java">
- * google-auth-library-java</a>.
+ * <p>Authentication is provided by google-auth-library-java.
+ *
+ * @see <a href="https://github.com/google/google-auth-library-java">google-auth-library-java</a>.
*/
public class GCSNotebookRepo implements NotebookRepo {
@@ -67,8 +67,7 @@ public class GCSNotebookRepo implements NotebookRepo {
private Pattern noteNamePattern;
private Storage storage;
- public GCSNotebookRepo() {
- }
+ public GCSNotebookRepo() {}
@VisibleForTesting
public GCSNotebookRepo(ZeppelinConfiguration zConf, Storage storage) throws IOException {
@@ -78,37 +77,38 @@ public class GCSNotebookRepo implements NotebookRepo {
@Override
public void init(ZeppelinConfiguration zConf) throws IOException {
- this.encoding = zConf.getString(ConfVars.ZEPPELIN_ENCODING);
+ this.encoding = zConf.getString(ConfVars.ZEPPELIN_ENCODING);
String gcsStorageDir = zConf.getGCSStorageDir();
if (gcsStorageDir.isEmpty()) {
throw new IOException("GCS storage directory must be set using 'zeppelin.notebook.gcs.dir'");
}
if (!gcsStorageDir.startsWith("gs://")) {
- throw new IOException(String.format(
- "GCS storage directory '%s' must start with 'gs://'.", gcsStorageDir));
+ throw new IOException(
+ String.format("GCS storage directory '%s' must start with 'gs://'.", gcsStorageDir));
}
String storageDirWithoutScheme = gcsStorageDir.substring("gs://".length());
// pathComponents excludes empty string if trailing slash is present
List<String> pathComponents = Arrays.asList(storageDirWithoutScheme.split("/"));
if (pathComponents.size() < 1) {
- throw new IOException(String.format(
- "GCS storage directory '%s' must be in the form gs://bucketname/path/to/dir",
- gcsStorageDir));
+ throw new IOException(
+ String.format(
+ "GCS storage directory '%s' must be in the form gs://bucketname/path/to/dir",
+ gcsStorageDir));
}
this.bucketName = pathComponents.get(0);
if (pathComponents.size() > 1) {
- this.basePath = Optional.of(StringUtils.join(
- pathComponents.subList(1, pathComponents.size()), "/"));
+ this.basePath =
+ Optional.of(StringUtils.join(pathComponents.subList(1, pathComponents.size()), "/"));
} else {
this.basePath = Optional.absent();
}
// Notes are stored at gs://bucketName/basePath/<note-id>/note.json
if (basePath.isPresent()) {
- this.noteNamePattern = Pattern.compile(
- "^" + Pattern.quote(basePath.get() + "/") + "([^/]+)/note\\.json$");
+ this.noteNamePattern =
+ Pattern.compile("^" + Pattern.quote(basePath.get() + "/") + "([^/]+)/note\\.json$");
} else {
this.noteNamePattern = Pattern.compile("^([^/]+)/note\\.json$");
}
@@ -130,13 +130,10 @@ public class GCSNotebookRepo implements NotebookRepo {
List<NoteInfo> infos = new ArrayList<>();
Iterable<Blob> blobsUnderDir;
if (basePath.isPresent()) {
- blobsUnderDir = storage
- .list(bucketName, BlobListOption.prefix(this.basePath.get() + "/"))
- .iterateAll();
+ blobsUnderDir =
+ storage.list(bucketName, BlobListOption.prefix(this.basePath.get() + "/")).iterateAll();
} else {
- blobsUnderDir = storage
- .list(bucketName)
- .iterateAll();
+ blobsUnderDir = storage.list(bucketName).iterateAll();
}
for (Blob b : blobsUnderDir) {
Matcher matcher = noteNamePattern.matcher(b.getName());
@@ -172,9 +169,8 @@ public class GCSNotebookRepo implements NotebookRepo {
@Override
public void save(Note note, AuthenticationInfo subject) throws IOException {
- BlobInfo info = BlobInfo.newBuilder(makeBlobId(note.getId()))
- .setContentType("application/json")
- .build();
+ BlobInfo info =
+ BlobInfo.newBuilder(makeBlobId(note.getId())).setContentType("application/json").build();
try {
storage.create(info, note.toJson().getBytes("UTF-8"));
} catch (StorageException se) {
@@ -198,7 +194,7 @@ public class GCSNotebookRepo implements NotebookRepo {
@Override
public void close() {
- //no-op
+ // no-op
}
@Override
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/gcs/src/test/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepoTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/gcs/src/test/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepoTest.java b/zeppelin-plugins/notebookrepo/gcs/src/test/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepoTest.java
index c1fae67..2c603ad 100644
--- a/zeppelin-plugins/notebookrepo/gcs/src/test/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepoTest.java
+++ b/zeppelin-plugins/notebookrepo/gcs/src/test/java/org/apache/zeppelin/notebook/repo/GCSNotebookRepoTest.java
@@ -55,12 +55,13 @@ public class GCSNotebookRepoTest {
@Parameters
public static Collection<Object[]> data() {
- return Arrays.asList(new Object[][] {
- { "bucketname", Optional.absent(), "gs://bucketname" },
- { "bucketname-with-slash", Optional.absent(), "gs://bucketname-with-slash/" },
- { "bucketname", Optional.of("path/to/dir"), "gs://bucketname/path/to/dir" },
- { "bucketname", Optional.of("trailing/slash"), "gs://bucketname/trailing/slash/" }
- });
+ return Arrays.asList(
+ new Object[][] {
+ {"bucketname", Optional.absent(), "gs://bucketname"},
+ {"bucketname-with-slash", Optional.absent(), "gs://bucketname-with-slash/"},
+ {"bucketname", Optional.of("path/to/dir"), "gs://bucketname/path/to/dir"},
+ {"bucketname", Optional.of("trailing/slash"), "gs://bucketname/trailing/slash/"}
+ });
}
@Parameter(0)
@@ -123,7 +124,8 @@ public class GCSNotebookRepoTest {
try {
notebookRepo.get("id", AUTH_INFO);
fail();
- } catch (IOException e) {}
+ } catch (IOException e) {
+ }
}
@Test
@@ -145,7 +147,8 @@ public class GCSNotebookRepoTest {
try {
notebookRepo.get("id", AUTH_INFO);
fail();
- } catch (IOException e) {}
+ } catch (IOException e) {
+ }
}
@Test
@@ -171,7 +174,8 @@ public class GCSNotebookRepoTest {
try {
notebookRepo.remove("id", AUTH_INFO);
fail();
- } catch (IOException e) {}
+ } catch (IOException e) {
+ }
}
@Test
@@ -200,16 +204,14 @@ public class GCSNotebookRepoTest {
}
private void create(Note note) throws IOException {
- BlobInfo info = BlobInfo.newBuilder(makeBlobId(note.getId()))
- .setContentType("application/json")
- .build();
+ BlobInfo info =
+ BlobInfo.newBuilder(makeBlobId(note.getId())).setContentType("application/json").build();
storage.create(info, note.toJson().getBytes("UTF-8"));
}
private void createMalformed(String noteId) throws IOException {
- BlobInfo info = BlobInfo.newBuilder(makeBlobId(noteId))
- .setContentType("application/json")
- .build();
+ BlobInfo info =
+ BlobInfo.newBuilder(makeBlobId(noteId)).setContentType("application/json").build();
storage.create(info, "{ invalid-json }".getBytes("UTF-8"));
}
@@ -221,7 +223,8 @@ public class GCSNotebookRepoTest {
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_GCS_STORAGE_DIR.getVarName(), "");
new GCSNotebookRepo(new ZeppelinConfiguration(), storage);
fail();
- } catch (IOException e) {}
+ } catch (IOException e) {
+ }
}
@Test
@@ -230,6 +233,7 @@ public class GCSNotebookRepoTest {
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_GCS_STORAGE_DIR.getVarName(), "foo");
new GCSNotebookRepo(new ZeppelinConfiguration(), storage);
fail();
- } catch (IOException e) {}
+ } catch (IOException e) {
+ }
}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/git/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/git/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java b/zeppelin-plugins/notebookrepo/git/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java
index 7729d52..29ed2f4 100644
--- a/zeppelin-plugins/notebookrepo/git/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/git/src/main/java/org/apache/zeppelin/notebook/repo/GitNotebookRepo.java
@@ -20,6 +20,10 @@ package org.apache.zeppelin.notebook.repo;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
+import java.io.File;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.notebook.Note;
import org.apache.zeppelin.user.AuthenticationInfo;
@@ -37,20 +41,14 @@ import org.eclipse.jgit.treewalk.filter.PathFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
-
/**
* NotebookRepo that hosts all the notebook FS in a single Git repo
*
- * This impl intended to be simple and straightforward:
- * - does not handle branches
- * - only basic local git file repo, no remote Github push\pull. GitHub integration is
- * implemented in @see {@link org.apache.zeppelin.notebook.repo.GitNotebookRepo}
+ * <p>This impl intended to be simple and straightforward: - does not handle branches - only basic
+ * local git file repo, no remote Github push\pull. GitHub integration is implemented in @see {@link
+ * org.apache.zeppelin.notebook.repo.GitNotebookRepo}
*
- * TODO(bzz): add default .gitignore
+ * <p>TODO(bzz): add default .gitignore
*/
public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWithVersionControl {
private static final Logger LOG = LoggerFactory.getLogger(GitNotebookRepo.class);
@@ -70,8 +68,8 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
@Override
public void init(ZeppelinConfiguration conf) throws IOException {
- //TODO(zjffdu), it is weird that I can not call super.init directly here, as it would cause
- //AbstractMethodError
+ // TODO(zjffdu), it is weird that I can not call super.init directly here, as it would cause
+ // AbstractMethodError
this.conf = conf;
setNotebookDirectory(conf.getNotebookDir());
@@ -117,11 +115,8 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
}
/**
- * the idea is to:
- * 1. stash current changes
- * 2. remember head commit and checkout to the desired revision
- * 3. get note and checkout back to the head
- * 4. apply stash on top and remove it
+ * the idea is to: 1. stash current changes 2. remember head commit and checkout to the desired
+ * revision 3. get note and checkout back to the head 4. apply stash on top and remove it
*/
@Override
public synchronized Note get(String noteId, String revId, AuthenticationInfo subject)
@@ -149,7 +144,10 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
ObjectId applied = git.stashApply().setStashRef(stash.getName()).call();
ObjectId dropped = git.stashDrop().setStashRef(0).call();
Collection<RevCommit> stashes = git.stashList().call();
- LOG.debug("Stash applied as : {}, and dropped : {}, stash size: {}", applied, dropped,
+ LOG.debug(
+ "Stash applied as : {}, and dropped : {}, stash size: {}",
+ applied,
+ dropped,
stashes.size());
}
} catch (GitAPIException e) {
@@ -164,12 +162,12 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
LOG.debug("Listing history for {}:", noteId);
try {
Iterable<RevCommit> logs = git.log().addPath(noteId).call();
- for (RevCommit log: logs) {
+ for (RevCommit log : logs) {
history.add(new Revision(log.getName(), log.getShortMessage(), log.getCommitTime()));
LOG.debug(" - ({},{},{})", log.getName(), log.getCommitTime(), log.getFullMessage());
}
} catch (NoHeadException e) {
- //when no initial commit exists
+ // when no initial commit exists
LOG.warn("No Head found for {}, {}", noteId, e.getMessage());
} catch (GitAPIException e) {
LOG.error("Failed to get logs for {}", noteId, e);
@@ -186,13 +184,13 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
}
return revisionNote;
}
-
+
@Override
public void close() {
git.getRepository().close();
}
- //DI replacements for Tests
+ // DI replacements for Tests
protected Git getGit() {
return git;
}
@@ -200,6 +198,4 @@ public class GitNotebookRepo extends VFSNotebookRepo implements NotebookRepoWith
void setGit(Git git) {
this.git = git;
}
-
}
-
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java
index 58d7cc1..7de299d 100644
--- a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java
+++ b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/GitNotebookRepoTest.java
@@ -20,11 +20,11 @@ package org.apache.zeppelin.notebook.repo;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock;
+import com.google.common.base.Joiner;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;
-
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
@@ -44,8 +44,6 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Joiner;
-
public class GitNotebookRepoTest {
private static final Logger LOG = LoggerFactory.getLogger(GitNotebookRepoTest.class);
@@ -59,7 +57,8 @@ public class GitNotebookRepoTest {
@Before
public void setUp() throws Exception {
- String zpath = System.getProperty("java.io.tmpdir") + "/ZeppelinTest_" + System.currentTimeMillis();
+ String zpath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinTest_" + System.currentTimeMillis();
zeppelinDir = new File(zpath);
zeppelinDir.mkdirs();
new File(zeppelinDir, "conf").mkdirs();
@@ -71,24 +70,23 @@ public class GitNotebookRepoTest {
String testNoteDir = Joiner.on(File.separator).join(notebooksDir, TEST_NOTE_ID);
String testNoteDir2 = Joiner.on(File.separator).join(notebooksDir, TEST_NOTE_ID2);
FileUtils.copyDirectory(
- new File(
- GitNotebookRepoTest.class.getResource(
- Joiner.on(File.separator).join("", TEST_NOTE_ID)
- ).getFile()
- ),
- new File(testNoteDir));
+ new File(
+ GitNotebookRepoTest.class
+ .getResource(Joiner.on(File.separator).join("", TEST_NOTE_ID))
+ .getFile()),
+ new File(testNoteDir));
FileUtils.copyDirectory(
- new File(
- GitNotebookRepoTest.class.getResource(
- Joiner.on(File.separator).join("", TEST_NOTE_ID2)
- ).getFile()
- ),
- new File(testNoteDir2)
- );
+ new File(
+ GitNotebookRepoTest.class
+ .getResource(Joiner.on(File.separator).join("", TEST_NOTE_ID2))
+ .getFile()),
+ new File(testNoteDir2));
System.setProperty(ConfVars.ZEPPELIN_HOME.getVarName(), zeppelinDir.getAbsolutePath());
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), notebookDir.getAbsolutePath());
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), "org.apache.zeppelin.notebook.repo.GitNotebookRepo");
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(),
+ "org.apache.zeppelin.notebook.repo.GitNotebookRepo");
conf = ZeppelinConfiguration.create();
}
@@ -102,14 +100,14 @@ public class GitNotebookRepoTest {
@Test
public void initNonemptyNotebookDir() throws IOException, GitAPIException {
- //given - .git does not exit
+ // given - .git does not exit
File dotGit = new File(Joiner.on(File.separator).join(notebooksDir, ".git"));
assertThat(dotGit.exists()).isEqualTo(false);
- //when
+ // when
notebookRepo = new GitNotebookRepo(conf);
- //then
+ // then
Git git = notebookRepo.getGit();
assertThat(git).isNotNull();
@@ -123,21 +121,21 @@ public class GitNotebookRepoTest {
@Test
public void showNotebookHistoryEmptyTest() throws GitAPIException, IOException {
- //given
+ // given
notebookRepo = new GitNotebookRepo(conf);
assertThat(notebookRepo.list(null)).isNotEmpty();
- //when
+ // when
List<Revision> testNotebookHistory = notebookRepo.revisionHistory(TEST_NOTE_ID, null);
- //then
- //no initial commit, empty history
+ // then
+ // no initial commit, empty history
assertThat(testNotebookHistory).isEmpty();
}
@Test
public void showNotebookHistoryMultipleNotesTest() throws IOException {
- //initial checks
+ // initial checks
notebookRepo = new GitNotebookRepo(conf);
assertThat(notebookRepo.list(null)).isNotEmpty();
assertThat(containsNote(notebookRepo.list(null), TEST_NOTE_ID)).isTrue();
@@ -145,13 +143,13 @@ public class GitNotebookRepoTest {
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID, null)).isEmpty();
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID2, null)).isEmpty();
- //add commit to both notes
+ // add commit to both notes
notebookRepo.checkpoint(TEST_NOTE_ID, "first commit, note1", null);
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID, null).size()).isEqualTo(1);
notebookRepo.checkpoint(TEST_NOTE_ID2, "first commit, note2", null);
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID2, null).size()).isEqualTo(1);
- //modify, save and checkpoint first note
+ // modify, save and checkpoint first note
Note note = notebookRepo.get(TEST_NOTE_ID, null);
note.setInterpreterFactory(mock(InterpreterFactory.class));
Paragraph p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
@@ -164,10 +162,10 @@ public class GitNotebookRepoTest {
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID, null).size()).isEqualTo(2);
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID2, null).size()).isEqualTo(1);
assertThat(notebookRepo.checkpoint(TEST_NOTE_ID2, "first commit, note2", null))
- .isEqualTo(Revision.EMPTY);
+ .isEqualTo(Revision.EMPTY);
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID2, null).size()).isEqualTo(1);
- //modify, save and checkpoint second note
+ // modify, save and checkpoint second note
note = notebookRepo.get(TEST_NOTE_ID2, null);
note.setInterpreterFactory(mock(InterpreterFactory.class));
p = note.addNewParagraph(AuthenticationInfo.ANONYMOUS);
@@ -213,7 +211,7 @@ public class GitNotebookRepoTest {
}
private boolean containsNote(List<NoteInfo> notes, String noteId) {
- for (NoteInfo note: notes) {
+ for (NoteInfo note : notes) {
if (note.getId().equals(noteId)) {
return true;
}
@@ -323,7 +321,7 @@ public class GitNotebookRepoTest {
@Test
public void setRevisionTest() throws IOException {
- //create repo and check that note doesn't contain revisions
+ // create repo and check that note doesn't contain revisions
notebookRepo = new GitNotebookRepo(conf);
assertThat(notebookRepo.list(null)).isNotEmpty();
assertThat(containsNote(notebookRepo.list(null), TEST_NOTE_ID)).isTrue();
@@ -337,7 +335,7 @@ public class GitNotebookRepoTest {
// checkpoint revision1
Revision revision1 = notebookRepo.checkpoint(TEST_NOTE_ID, "set revision: first commit", null);
- //TODO(khalid): change to EMPTY after rebase
+ // TODO(khalid): change to EMPTY after rebase
assertThat(revision1).isNotNull();
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID, null).size()).isEqualTo(1);
@@ -354,7 +352,7 @@ public class GitNotebookRepoTest {
// checkpoint revision2
Revision revision2 = notebookRepo.checkpoint(TEST_NOTE_ID, "set revision: second commit", null);
- //TODO(khalid): change to EMPTY after rebase
+ // TODO(khalid): change to EMPTY after rebase
assertThat(revision2).isNotNull();
assertThat(notebookRepo.revisionHistory(TEST_NOTE_ID, null).size()).isEqualTo(2);
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncInitializationTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncInitializationTest.java b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncInitializationTest.java
index 738d708..bf35f67 100644
--- a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncInitializationTest.java
+++ b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncInitializationTest.java
@@ -17,6 +17,11 @@
package org.apache.zeppelin.notebook.repo;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.conf.ZeppelinConfiguration.ConfVars;
import org.apache.zeppelin.notebook.repo.mock.VFSNotebookRepoMock;
@@ -26,33 +31,31 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-//TODO(zjffdu) move it to zeppelin-zengine
+// TODO(zjffdu) move it to zeppelin-zengine
public class NotebookRepoSyncInitializationTest {
- private static final Logger LOG = LoggerFactory.getLogger(NotebookRepoSyncInitializationTest.class);
+ private static final Logger LOG =
+ LoggerFactory.getLogger(NotebookRepoSyncInitializationTest.class);
private String validFirstStorageClass = "org.apache.zeppelin.notebook.repo.VFSNotebookRepo";
- private String validSecondStorageClass = "org.apache.zeppelin.notebook.repo.mock.VFSNotebookRepoMock";
+ private String validSecondStorageClass =
+ "org.apache.zeppelin.notebook.repo.mock.VFSNotebookRepoMock";
private String invalidStorageClass = "org.apache.zeppelin.notebook.repo.DummyNotebookRepo";
private String validOneStorageConf = validFirstStorageClass;
private String validTwoStorageConf = validFirstStorageClass + "," + validSecondStorageClass;
private String invalidTwoStorageConf = validFirstStorageClass + "," + invalidStorageClass;
- private String unsupportedStorageConf = validFirstStorageClass + "," + validSecondStorageClass + "," + validSecondStorageClass;
+ private String unsupportedStorageConf =
+ validFirstStorageClass + "," + validSecondStorageClass + "," + validSecondStorageClass;
private String emptyStorageConf = "";
@Before
- public void setUp(){
- System.setProperty(ConfVars.ZEPPELIN_PLUGINS_DIR.getVarName(), new File("../../../plugins").getAbsolutePath());
- //setup routine
+ public void setUp() {
+ System.setProperty(
+ ConfVars.ZEPPELIN_PLUGINS_DIR.getVarName(), new File("../../../plugins").getAbsolutePath());
+ // setup routine
}
@After
public void tearDown() {
- //tear-down routine
+ // tear-down routine
}
@Test
@@ -71,11 +74,12 @@ public class NotebookRepoSyncInitializationTest {
@Test
public void validInitTwoStorageTest() throws IOException {
// initialize folders for each storage
- String zpath = System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis();
+ String zpath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis();
File mainZepDir = new File(zpath);
mainZepDir.mkdirs();
new File(mainZepDir, "conf").mkdirs();
- String mainNotePath = zpath+"/notebook";
+ String mainNotePath = zpath + "/notebook";
String secNotePath = mainNotePath + "_secondary";
File mainNotebookDir = new File(mainNotePath);
File secNotebookDir = new File(secNotePath);
@@ -84,7 +88,8 @@ public class NotebookRepoSyncInitializationTest {
// set confs
System.setProperty(ConfVars.ZEPPELIN_HOME.getVarName(), mainZepDir.getAbsolutePath());
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), validTwoStorageConf);
ZeppelinConfiguration conf = ZeppelinConfiguration.create();
// create repo
@@ -111,11 +116,12 @@ public class NotebookRepoSyncInitializationTest {
@Test
public void initUnsupportedNumberStoragesTest() throws IOException {
// initialize folders for each storage, currently for 2 only
- String zpath = System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis();
+ String zpath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis();
File mainZepDir = new File(zpath);
mainZepDir.mkdirs();
new File(mainZepDir, "conf").mkdirs();
- String mainNotePath = zpath+"/notebook";
+ String mainNotePath = zpath + "/notebook";
String secNotePath = mainNotePath + "_secondary";
File mainNotebookDir = new File(mainNotePath);
File secNotebookDir = new File(secNotePath);
@@ -124,7 +130,8 @@ public class NotebookRepoSyncInitializationTest {
// set confs
System.setProperty(ConfVars.ZEPPELIN_HOME.getVarName(), mainZepDir.getAbsolutePath());
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), unsupportedStorageConf);
ZeppelinConfiguration conf = ZeppelinConfiguration.create();
// create repo
@@ -149,7 +156,7 @@ public class NotebookRepoSyncInitializationTest {
@Test
public void initOneDummyStorageTest() throws IOException {
- // set confs
+ // set confs
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), invalidStorageClass);
ZeppelinConfiguration conf = ZeppelinConfiguration.create();
// create repo
@@ -158,4 +165,4 @@ public class NotebookRepoSyncInitializationTest {
assertEquals(notebookRepoSync.getRepoCount(), 1);
assertTrue(notebookRepoSync.getRepo(0) instanceof NotebookRepo);
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncTest.java b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncTest.java
index 68e2615..a012f72 100644
--- a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncTest.java
+++ b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/NotebookRepoSyncTest.java
@@ -17,6 +17,17 @@
package org.apache.zeppelin.notebook.repo;
+import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.conf.ZeppelinConfiguration.ConfVars;
@@ -32,7 +43,6 @@ import org.apache.zeppelin.notebook.Notebook;
import org.apache.zeppelin.notebook.NotebookAuthorization;
import org.apache.zeppelin.notebook.Paragraph;
import org.apache.zeppelin.notebook.ParagraphJobListener;
-import org.apache.zeppelin.scheduler.Job;
import org.apache.zeppelin.scheduler.Job.Status;
import org.apache.zeppelin.scheduler.SchedulerFactory;
import org.apache.zeppelin.search.SearchService;
@@ -46,20 +56,7 @@ import org.quartz.SchedulerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-
-//TODO(zjffdu) move it to zeppelin-zengine
+// TODO(zjffdu) move it to zeppelin-zengine
public class NotebookRepoSyncTest implements ParagraphJobListener {
private File mainZepDir;
@@ -80,11 +77,12 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
@Before
public void setUp() throws Exception {
- String zpath = System.getProperty("java.io.tmpdir")+"/ZeppelinLTest_"+System.currentTimeMillis();
+ String zpath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinLTest_" + System.currentTimeMillis();
mainZepDir = new File(zpath);
mainZepDir.mkdirs();
new File(mainZepDir, "conf").mkdirs();
- String mainNotePath = zpath+"/notebook";
+ String mainNotePath = zpath + "/notebook";
String secNotePath = mainNotePath + "_secondary";
mainNotebookDir = new File(mainNotePath);
secNotebookDir = new File(secNotePath);
@@ -92,11 +90,16 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
secNotebookDir.mkdirs();
System.setProperty(ConfVars.ZEPPELIN_HOME.getVarName(), mainZepDir.getAbsolutePath());
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), "org.apache.zeppelin.notebook.repo.VFSNotebookRepo,org.apache.zeppelin.notebook.repo.mock.VFSNotebookRepoMock");
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(),
+ "org.apache.zeppelin.notebook.repo.VFSNotebookRepo,org.apache.zeppelin.notebook.repo.mock.VFSNotebookRepoMock");
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_ONE_WAY_SYNC.getVarName(), "false");
- System.setProperty(ConfVars.ZEPPELIN_CONFIG_FS_DIR.getVarName(), mainZepDir.getAbsolutePath() + "/conf");
- System.setProperty(ConfVars.ZEPPELIN_PLUGINS_DIR.getVarName(), new File("../../../plugins").getAbsolutePath());
+ System.setProperty(
+ ConfVars.ZEPPELIN_CONFIG_FS_DIR.getVarName(), mainZepDir.getAbsolutePath() + "/conf");
+ System.setProperty(
+ ConfVars.ZEPPELIN_PLUGINS_DIR.getVarName(), new File("../../../plugins").getAbsolutePath());
LOG.info("main Note dir : " + mainNotePath);
LOG.info("secondary note dir : " + secNotePath);
@@ -107,16 +110,29 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
this.schedulerFactory = SchedulerFactory.singleton();
depResolver = new DependencyResolver(mainZepDir.getAbsolutePath() + "/local-repo");
- interpreterSettingManager = new InterpreterSettingManager(conf,
- mock(AngularObjectRegistryListener.class), mock(RemoteInterpreterProcessListener.class), mock(ApplicationEventListener.class));
+ interpreterSettingManager =
+ new InterpreterSettingManager(
+ conf,
+ mock(AngularObjectRegistryListener.class),
+ mock(RemoteInterpreterProcessListener.class),
+ mock(ApplicationEventListener.class));
factory = new InterpreterFactory(interpreterSettingManager);
search = mock(SearchService.class);
notebookRepoSync = new NotebookRepoSync(conf);
notebookAuthorization = NotebookAuthorization.init(conf);
credentials = new Credentials(conf.credentialsPersist(), conf.getCredentialsPath(), null);
- notebookSync = new Notebook(conf, notebookRepoSync, schedulerFactory, factory, interpreterSettingManager, this, search,
- notebookAuthorization, credentials);
+ notebookSync =
+ new Notebook(
+ conf,
+ notebookRepoSync,
+ schedulerFactory,
+ factory,
+ interpreterSettingManager,
+ this,
+ search,
+ notebookAuthorization,
+ credentials);
anonymous = new AuthenticationInfo("anonymous");
}
@@ -143,7 +159,9 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
// check that automatically saved on both storages
assertEquals(1, notebookRepoSync.list(0, anonymous).size());
assertEquals(1, notebookRepoSync.list(1, anonymous).size());
- assertEquals(notebookRepoSync.list(0, anonymous).get(0).getId(),notebookRepoSync.list(1, anonymous).get(0).getId());
+ assertEquals(
+ notebookRepoSync.list(0, anonymous).get(0).getId(),
+ notebookRepoSync.list(1, anonymous).get(0).getId());
notebookSync.removeNote(notebookRepoSync.list(0, null).get(0).getId(), anonymous);
}
@@ -160,7 +178,9 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
/* check that created in both storage systems */
assertEquals(1, notebookRepoSync.list(0, anonymous).size());
assertEquals(1, notebookRepoSync.list(1, anonymous).size());
- assertEquals(notebookRepoSync.list(0, anonymous).get(0).getId(),notebookRepoSync.list(1, anonymous).get(0).getId());
+ assertEquals(
+ notebookRepoSync.list(0, anonymous).get(0).getId(),
+ notebookRepoSync.list(1, anonymous).get(0).getId());
/* remove Note */
notebookSync.removeNote(notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous);
@@ -168,7 +188,6 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
/* check that deleted in both storages */
assertEquals(0, notebookRepoSync.list(0, anonymous).size());
assertEquals(0, notebookRepoSync.list(1, anonymous).size());
-
}
@Test
@@ -186,30 +205,58 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
assertEquals(1, note.getParagraphs().size());
/* new paragraph not yet saved into storages */
- assertEquals(0, notebookRepoSync.get(0,
- notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous).getParagraphs().size());
- assertEquals(0, notebookRepoSync.get(1,
- notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous).getParagraphs().size());
+ assertEquals(
+ 0,
+ notebookRepoSync
+ .get(0, notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous)
+ .getParagraphs()
+ .size());
+ assertEquals(
+ 0,
+ notebookRepoSync
+ .get(1, notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous)
+ .getParagraphs()
+ .size());
/* save to storage under index 0 (first storage) */
notebookRepoSync.save(0, note, anonymous);
/* check paragraph saved to first storage */
- assertEquals(1, notebookRepoSync.get(0,
- notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous).getParagraphs().size());
+ assertEquals(
+ 1,
+ notebookRepoSync
+ .get(0, notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous)
+ .getParagraphs()
+ .size());
/* check paragraph isn't saved to second storage */
- assertEquals(0, notebookRepoSync.get(1,
- notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous).getParagraphs().size());
+ assertEquals(
+ 0,
+ notebookRepoSync
+ .get(1, notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous)
+ .getParagraphs()
+ .size());
/* apply sync */
notebookRepoSync.sync(null);
/* check whether added to second storage */
- assertEquals(1, notebookRepoSync.get(1,
- notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous).getParagraphs().size());
+ assertEquals(
+ 1,
+ notebookRepoSync
+ .get(1, notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous)
+ .getParagraphs()
+ .size());
/* check whether same paragraph id */
- assertEquals(p1.getId(), notebookRepoSync.get(0,
- notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous).getLastParagraph().getId());
- assertEquals(p1.getId(), notebookRepoSync.get(1,
- notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous).getLastParagraph().getId());
+ assertEquals(
+ p1.getId(),
+ notebookRepoSync
+ .get(0, notebookRepoSync.list(0, anonymous).get(0).getId(), anonymous)
+ .getLastParagraph()
+ .getId());
+ assertEquals(
+ p1.getId(),
+ notebookRepoSync
+ .get(1, notebookRepoSync.list(1, anonymous).get(0).getId(), anonymous)
+ .getLastParagraph()
+ .getId());
notebookRepoSync.remove(note.getId(), anonymous);
}
@@ -240,12 +287,22 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
@Test
public void testOneWaySyncOnReloadedList() throws IOException, SchedulerException {
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), mainNotebookDir.getAbsolutePath());
System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_ONE_WAY_SYNC.getVarName(), "true");
conf = ZeppelinConfiguration.create();
notebookRepoSync = new NotebookRepoSync(conf);
- notebookSync = new Notebook(conf, notebookRepoSync, schedulerFactory, factory, interpreterSettingManager, this, search,
- notebookAuthorization, credentials);
+ notebookSync =
+ new Notebook(
+ conf,
+ notebookRepoSync,
+ schedulerFactory,
+ factory,
+ interpreterSettingManager,
+ this,
+ search,
+ notebookAuthorization,
+ credentials);
// check that both storage repos are empty
assertTrue(notebookRepoSync.getRepoCount() > 1);
@@ -288,12 +345,23 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
@Test
public void testCheckpointOneStorage() throws IOException, SchedulerException {
- System.setProperty(ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(), "org.apache.zeppelin.notebook.repo.GitNotebookRepo");
+ System.setProperty(
+ ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(),
+ "org.apache.zeppelin.notebook.repo.GitNotebookRepo");
ZeppelinConfiguration vConf = ZeppelinConfiguration.create();
NotebookRepoSync vRepoSync = new NotebookRepoSync(vConf);
- Notebook vNotebookSync = new Notebook(vConf, vRepoSync, schedulerFactory, factory, interpreterSettingManager, this, search,
- notebookAuthorization, credentials);
+ Notebook vNotebookSync =
+ new Notebook(
+ vConf,
+ vRepoSync,
+ schedulerFactory,
+ factory,
+ interpreterSettingManager,
+ this,
+ search,
+ notebookAuthorization,
+ credentials);
// one git versioned storage initialized
assertThat(vRepoSync.getRepoCount()).isEqualTo(1);
@@ -354,18 +422,30 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
notebookRepoSync.save(1, note, null);
/* check paragraph isn't saved into first storage */
- assertEquals(0, notebookRepoSync.get(0,
- notebookRepoSync.list(0, null).get(0).getId(), null).getParagraphs().size());
+ assertEquals(
+ 0,
+ notebookRepoSync
+ .get(0, notebookRepoSync.list(0, null).get(0).getId(), null)
+ .getParagraphs()
+ .size());
/* check paragraph is saved into second storage */
- assertEquals(1, notebookRepoSync.get(1,
- notebookRepoSync.list(1, null).get(0).getId(), null).getParagraphs().size());
+ assertEquals(
+ 1,
+ notebookRepoSync
+ .get(1, notebookRepoSync.list(1, null).get(0).getId(), null)
+ .getParagraphs()
+ .size());
/* now sync by user1 */
notebookRepoSync.sync(user1);
/* check that note updated and acl are same on main storage*/
- assertEquals(1, notebookRepoSync.get(0,
- notebookRepoSync.list(0, null).get(0).getId(), null).getParagraphs().size());
+ assertEquals(
+ 1,
+ notebookRepoSync
+ .get(0, notebookRepoSync.list(0, null).get(0).getId(), null)
+ .getParagraphs()
+ .size());
assertEquals(true, authInfo.isOwner(note.getId(), entity));
assertEquals(1, authInfo.getOwners(note.getId()).size());
assertEquals(0, authInfo.getReaders(note.getId()).size());
@@ -397,44 +477,31 @@ public class NotebookRepoSyncTest implements ParagraphJobListener {
assertEquals(true, authInfo.isWriter(note.getId(), entity));
}
- static void delete(File file){
- if(file.isFile()) file.delete();
- else if(file.isDirectory()){
- File [] files = file.listFiles();
- if(files!=null && files.length>0){
- for(File f : files){
- delete(f);
- }
+ static void delete(File file) {
+ if (file.isFile()) file.delete();
+ else if (file.isDirectory()) {
+ File[] files = file.listFiles();
+ if (files != null && files.length > 0) {
+ for (File f : files) {
+ delete(f);
}
- file.delete();
}
+ file.delete();
+ }
}
-
-
@Override
- public void onOutputAppend(Paragraph paragraph, int idx, String output) {
-
- }
+ public void onOutputAppend(Paragraph paragraph, int idx, String output) {}
@Override
- public void onOutputUpdate(Paragraph paragraph, int idx, InterpreterResultMessage msg) {
-
- }
+ public void onOutputUpdate(Paragraph paragraph, int idx, InterpreterResultMessage msg) {}
@Override
- public void onOutputUpdateAll(Paragraph paragraph, List<InterpreterResultMessage> msgs) {
-
- }
+ public void onOutputUpdateAll(Paragraph paragraph, List<InterpreterResultMessage> msgs) {}
@Override
- public void onProgressUpdate(Paragraph paragraph, int progress) {
- }
+ public void onProgressUpdate(Paragraph paragraph, int progress) {}
@Override
- public void onStatusChange(Paragraph paragraph, Status before, Status after) {
-
- }
-
-
+ public void onStatusChange(Paragraph paragraph, Status before, Status after) {}
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java
index 7f450df..4d8bf52 100644
--- a/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java
+++ b/zeppelin-plugins/notebookrepo/git/src/test/java/org/apache/zeppelin/notebook/repo/mock/VFSNotebookRepoMock.java
@@ -16,12 +16,11 @@
*/
package org.apache.zeppelin.notebook.repo.mock;
+import java.io.IOException;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.conf.ZeppelinConfiguration.ConfVars;
import org.apache.zeppelin.notebook.repo.VFSNotebookRepo;
-import java.io.IOException;
-
public class VFSNotebookRepoMock extends VFSNotebookRepo {
public VFSNotebookRepoMock() {
@@ -32,5 +31,4 @@ public class VFSNotebookRepoMock extends VFSNotebookRepo {
public void init(ZeppelinConfiguration conf) throws IOException {
super.init(conf);
}
-
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/github/src/main/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/github/src/main/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepo.java b/zeppelin-plugins/notebookrepo/github/src/main/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepo.java
index 7d0415b..19da9d5 100644
--- a/zeppelin-plugins/notebookrepo/github/src/main/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/github/src/main/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepo.java
@@ -17,6 +17,8 @@
package org.apache.zeppelin.notebook.repo;
+import java.io.IOException;
+import java.net.URISyntaxException;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.user.AuthenticationInfo;
import org.eclipse.jgit.api.Git;
@@ -29,22 +31,18 @@ import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
/**
- * GitHub integration to store notebooks in a GitHub repository.
- * It uses the same simple logic implemented in @see
- * {@link org.apache.zeppelin.notebook.repo.GitNotebookRepo}
+ * GitHub integration to store notebooks in a GitHub repository. It uses the same simple logic
+ * implemented in @see {@link org.apache.zeppelin.notebook.repo.GitNotebookRepo}
*
- * The logic for updating the local repository from the remote repository is the following:
- * - When the <code>GitHubNotebookRepo</code> is initialized
- * - When pushing the changes to the remote repository
+ * <p>The logic for updating the local repository from the remote repository is the following: -
+ * When the <code>GitHubNotebookRepo</code> is initialized - When pushing the changes to the remote
+ * repository
*
- * The logic for updating the remote repository on GitHub from local repository is the following:
+ * <p>The logic for updating the remote repository on GitHub from local repository is the following:
* - When commit the changes (saving the notebook)
*
- * You should be able to use this integration with all remote git repositories that accept
+ * <p>You should be able to use this integration with all remote git repositories that accept
* username + password authentication, not just GitHub.
*/
public class GitHubNotebookRepo extends GitNotebookRepo {
@@ -98,11 +96,9 @@ public class GitHubNotebookRepo extends GitNotebookRepo {
LOG.debug("Pulling latest changes from remote stream");
PullCommand pullCommand = git.pull();
pullCommand.setCredentialsProvider(
- new UsernamePasswordCredentialsProvider(
- zeppelinConfiguration.getZeppelinNotebookGitUsername(),
- zeppelinConfiguration.getZeppelinNotebookGitAccessToken()
- )
- );
+ new UsernamePasswordCredentialsProvider(
+ zeppelinConfiguration.getZeppelinNotebookGitUsername(),
+ zeppelinConfiguration.getZeppelinNotebookGitAccessToken()));
pullCommand.call();
@@ -116,11 +112,9 @@ public class GitHubNotebookRepo extends GitNotebookRepo {
LOG.debug("Pushing latest changes to remote stream");
PushCommand pushCommand = git.push();
pushCommand.setCredentialsProvider(
- new UsernamePasswordCredentialsProvider(
- zeppelinConfiguration.getZeppelinNotebookGitUsername(),
- zeppelinConfiguration.getZeppelinNotebookGitAccessToken()
- )
- );
+ new UsernamePasswordCredentialsProvider(
+ zeppelinConfiguration.getZeppelinNotebookGitUsername(),
+ zeppelinConfiguration.getZeppelinNotebookGitAccessToken()));
pushCommand.call();
} catch (GitAPIException e) {
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/github/src/test/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepoTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/github/src/test/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepoTest.java b/zeppelin-plugins/notebookrepo/github/src/test/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepoTest.java
index e331714..de59e94 100644
--- a/zeppelin-plugins/notebookrepo/github/src/test/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepoTest.java
+++ b/zeppelin-plugins/notebookrepo/github/src/test/java/org/apache/zeppelin/notebook/repo/GitHubNotebookRepoTest.java
@@ -1,4 +1,3 @@
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -18,8 +17,12 @@
package org.apache.zeppelin.notebook.repo;
+import static org.mockito.Mockito.mock;
import com.google.common.base.Joiner;
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
import org.apache.commons.io.FileUtils;
import org.apache.zeppelin.conf.ZeppelinConfiguration;
import org.apache.zeppelin.interpreter.InterpreterFactory;
@@ -37,17 +40,11 @@ import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-
-import static org.mockito.Mockito.mock;
-
/**
- * This tests the remote Git tracking for notebooks. The tests uses two local Git repositories created locally
- * to handle the tracking of Git actions (pushes and pulls). The repositories are:
- * 1. The first repository is considered as a remote that mimics a remote GitHub directory
- * 2. The second repository is considered as the local notebook repository
+ * This tests the remote Git tracking for notebooks. The tests uses two local Git repositories
+ * created locally to handle the tracking of Git actions (pushes and pulls). The repositories are:
+ * 1. The first repository is considered as a remote that mimics a remote GitHub directory 2. The
+ * second repository is considered as the local notebook repository
*/
public class GitHubNotebookRepoTest {
private static final Logger LOG = LoggerFactory.getLogger(GitHubNotebookRepoTest.class);
@@ -67,10 +64,10 @@ public class GitHubNotebookRepoTest {
public void setUp() throws Exception {
conf = ZeppelinConfiguration.create();
- String remoteRepositoryPath = System.getProperty("java.io.tmpdir") + "/ZeppelinTestRemote_" +
- System.currentTimeMillis();
- String localRepositoryPath = System.getProperty("java.io.tmpdir") + "/ZeppelinTest_" +
- System.currentTimeMillis();
+ String remoteRepositoryPath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinTestRemote_" + System.currentTimeMillis();
+ String localRepositoryPath =
+ System.getProperty("java.io.tmpdir") + "/ZeppelinTest_" + System.currentTimeMillis();
// Create a fake remote notebook Git repository locally in another directory
remoteZeppelinDir = new File(remoteRepositoryPath);
@@ -87,37 +84,46 @@ public class GitHubNotebookRepoTest {
File notebookDir = new File(localNotebooksDir);
notebookDir.mkdirs();
- // Copy the test notebook directory from the test/resources/2A94M5J1Z folder to the fake remote Git directory
+ // Copy the test notebook directory from the test/resources/2A94M5J1Z folder to the fake remote
+ // Git directory
String remoteTestNoteDir = Joiner.on(File.separator).join(remoteNotebooksDir, TEST_NOTE_ID);
FileUtils.copyDirectory(
- new File(
- GitHubNotebookRepoTest.class.getResource(
- Joiner.on(File.separator).join("", TEST_NOTE_ID)
- ).getFile()
- ), new File(remoteTestNoteDir)
- );
+ new File(
+ GitHubNotebookRepoTest.class
+ .getResource(Joiner.on(File.separator).join("", TEST_NOTE_ID))
+ .getFile()),
+ new File(remoteTestNoteDir));
// Create the fake remote Git repository
- Repository remoteRepository = new FileRepository(Joiner.on(File.separator).join(remoteNotebooksDir, ".git"));
+ Repository remoteRepository =
+ new FileRepository(Joiner.on(File.separator).join(remoteNotebooksDir, ".git"));
remoteRepository.create();
remoteGit = new Git(remoteRepository);
remoteGit.add().addFilepattern(".").call();
- firstCommitRevision = remoteGit.commit().setMessage("First commit from remote repository").call();
+ firstCommitRevision =
+ remoteGit.commit().setMessage("First commit from remote repository").call();
// Set the Git and Git configurations
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_HOME.getVarName(), remoteZeppelinDir.getAbsolutePath());
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(), notebookDir.getAbsolutePath());
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_HOME.getVarName(),
+ remoteZeppelinDir.getAbsolutePath());
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_DIR.getVarName(),
+ notebookDir.getAbsolutePath());
// Set the GitHub configurations
System.setProperty(
- ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(),
- "org.apache.zeppelin.notebook.repo.GitHubNotebookRepo");
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_URL.getVarName(),
- remoteNotebooksDir + File.separator + ".git");
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_USERNAME.getVarName(), "token");
- System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_ACCESS_TOKEN.getVarName(),
- "access-token");
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_STORAGE.getVarName(),
+ "org.apache.zeppelin.notebook.repo.GitHubNotebookRepo");
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_URL.getVarName(),
+ remoteNotebooksDir + File.separator + ".git");
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_USERNAME.getVarName(), "token");
+ System.setProperty(
+ ZeppelinConfiguration.ConfVars.ZEPPELIN_NOTEBOOK_GIT_REMOTE_ACCESS_TOKEN.getVarName(),
+ "access-token");
// Create the Notebook repository (configured for the local repository)
gitHubNotebookRepo = new GitHubNotebookRepo();
@@ -127,9 +133,9 @@ public class GitHubNotebookRepoTest {
@After
public void tearDown() throws Exception {
// Cleanup the temporary folders uses as Git repositories
- File[] temporaryFolders = { remoteZeppelinDir, localZeppelinDir };
+ File[] temporaryFolders = {remoteZeppelinDir, localZeppelinDir};
- for(File temporaryFolder : temporaryFolders) {
+ for (File temporaryFolder : temporaryFolders) {
if (!FileUtils.deleteQuietly(temporaryFolder))
LOG.error("Failed to delete {} ", temporaryFolder.getName());
}
@@ -137,66 +143,75 @@ public class GitHubNotebookRepoTest {
@Test
/**
- * Test the case when the Notebook repository is created, it pulls the latest changes from the remote repository
+ * Test the case when the Notebook repository is created, it pulls the latest changes from the
+ * remote repository
*/
- public void pullChangesFromRemoteRepositoryOnLoadingNotebook() throws IOException, GitAPIException {
- NotebookRepoWithVersionControl.Revision firstHistoryRevision = gitHubNotebookRepo.revisionHistory(TEST_NOTE_ID, null).get(0);
+ public void pullChangesFromRemoteRepositoryOnLoadingNotebook()
+ throws IOException, GitAPIException {
+ NotebookRepoWithVersionControl.Revision firstHistoryRevision =
+ gitHubNotebookRepo.revisionHistory(TEST_NOTE_ID, null).get(0);
- assert(this.firstCommitRevision.getName().equals(firstHistoryRevision.id));
+ assert (this.firstCommitRevision.getName().equals(firstHistoryRevision.id));
}
@Test
/**
- * Test the case when the check-pointing (add new files and commit) it also pulls the latest changes from the
- * remote repository
+ * Test the case when the check-pointing (add new files and commit) it also pulls the latest
+ * changes from the remote repository
*/
public void pullChangesFromRemoteRepositoryOnCheckpointing() throws GitAPIException, IOException {
// Create a new commit in the remote repository
- RevCommit secondCommitRevision = remoteGit.commit().setMessage("Second commit from remote repository").call();
+ RevCommit secondCommitRevision =
+ remoteGit.commit().setMessage("Second commit from remote repository").call();
// Add a new paragraph to the local repository
addParagraphToNotebook(TEST_NOTE_ID);
// Commit and push the changes to remote repository
- NotebookRepoWithVersionControl.Revision thirdCommitRevision = gitHubNotebookRepo.checkpoint(
- TEST_NOTE_ID, "Third commit from local repository", null);
+ NotebookRepoWithVersionControl.Revision thirdCommitRevision =
+ gitHubNotebookRepo.checkpoint(TEST_NOTE_ID, "Third commit from local repository", null);
- // Check all the commits as seen from the local repository. The commits are ordered chronologically. The last
+ // Check all the commits as seen from the local repository. The commits are ordered
+ // chronologically. The last
// commit is the first in the commit logs.
Iterator<RevCommit> revisions = gitHubNotebookRepo.getGit().log().all().call().iterator();
revisions.next(); // The Merge `master` commit after pushing to the remote repository
- assert(thirdCommitRevision.id.equals(revisions.next().getName())); // The local commit after adding the paragraph
+ assert (thirdCommitRevision.id.equals(
+ revisions.next().getName())); // The local commit after adding the paragraph
// The second commit done on the remote repository
- assert(secondCommitRevision.getName().equals(revisions.next().getName()));
+ assert (secondCommitRevision.getName().equals(revisions.next().getName()));
// The first commit done on the remote repository
- assert(firstCommitRevision.getName().equals(revisions.next().getName()));
+ assert (firstCommitRevision.getName().equals(revisions.next().getName()));
}
@Test
/**
- * Test the case when the check-pointing (add new files and commit) it pushes the local commits to the remote
- * repository
+ * Test the case when the check-pointing (add new files and commit) it pushes the local commits to
+ * the remote repository
*/
- public void pushLocalChangesToRemoteRepositoryOnCheckpointing() throws IOException, GitAPIException {
+ public void pushLocalChangesToRemoteRepositoryOnCheckpointing()
+ throws IOException, GitAPIException {
// Add a new paragraph to the local repository
addParagraphToNotebook(TEST_NOTE_ID);
// Commit and push the changes to remote repository
- NotebookRepoWithVersionControl.Revision secondCommitRevision = gitHubNotebookRepo.checkpoint(
- TEST_NOTE_ID, "Second commit from local repository", null);
+ NotebookRepoWithVersionControl.Revision secondCommitRevision =
+ gitHubNotebookRepo.checkpoint(TEST_NOTE_ID, "Second commit from local repository", null);
- // Check all the commits as seen from the remote repository. The commits are ordered chronologically. The last
+ // Check all the commits as seen from the remote repository. The commits are ordered
+ // chronologically. The last
// commit is the first in the commit logs.
Iterator<RevCommit> revisions = remoteGit.log().all().call().iterator();
- assert(secondCommitRevision.id.equals(revisions.next().getName())); // The local commit after adding the paragraph
+ assert (secondCommitRevision.id.equals(
+ revisions.next().getName())); // The local commit after adding the paragraph
// The first commit done on the remote repository
- assert(firstCommitRevision.getName().equals(revisions.next().getName()));
+ assert (firstCommitRevision.getName().equals(revisions.next().getName()));
}
private void addParagraphToNotebook(String noteId) throws IOException {
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/55f6c91c/zeppelin-plugins/notebookrepo/mongodb/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java
----------------------------------------------------------------------
diff --git a/zeppelin-plugins/notebookrepo/mongodb/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java b/zeppelin-plugins/notebookrepo/mongodb/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java
index 618568d..0bc85fd 100644
--- a/zeppelin-plugins/notebookrepo/mongodb/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java
+++ b/zeppelin-plugins/notebookrepo/mongodb/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java
@@ -30,9 +30,7 @@ import org.bson.types.ObjectId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/**
- * Backend for storing Notebook on MongoDB
- */
+/** Backend for storing Notebook on MongoDB */
public class MongoNotebookRepo implements NotebookRepo {
private static final Logger LOG = LoggerFactory.getLogger(MongoNotebookRepo.class);
@@ -41,9 +39,7 @@ public class MongoNotebookRepo implements NotebookRepo {
private MongoDatabase db;
private MongoCollection<Document> coll;
- public MongoNotebookRepo() {
-
- }
+ public MongoNotebookRepo() {}
public void init(ZeppelinConfiguration conf) throws IOException {
this.conf = conf;
@@ -59,15 +55,14 @@ public class MongoNotebookRepo implements NotebookRepo {
}
/**
- * If environment variable ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT is true,
- * this method will insert local notes into MongoDB on startup.
- * If a note already exists in MongoDB, skip it.
+ * If environment variable ZEPPELIN_NOTEBOOK_MONGO_AUTOIMPORT is true, this method will insert
+ * local notes into MongoDB on startup. If a note already exists in MongoDB, skip it.
*/
private void insertFileSystemNotes() throws IOException {
LinkedList<Document> docs = new LinkedList<>(); // docs to be imported
NotebookRepo vfsRepo = new VFSNotebookRepo();
vfsRepo.init(conf);
- List<NoteInfo> infos = vfsRepo.list(null);
+ List<NoteInfo> infos = vfsRepo.list(null);
// collect notes to be imported
for (NoteInfo info : infos) {
Note note = vfsRepo.get(info.getId(), null);
@@ -83,15 +78,16 @@ public class MongoNotebookRepo implements NotebookRepo {
try {
coll.insertMany(docs, new InsertManyOptions().ordered(false));
} catch (MongoBulkWriteException e) {
- printDuplicatedException(e); //print duplicated document warning log
+ printDuplicatedException(e); // print duplicated document warning log
}
- vfsRepo.close(); // it does nothing for now but maybe in the future...
+ vfsRepo.close(); // it does nothing for now but maybe in the future...
}
/**
- * MongoBulkWriteException contains error messages that inform
- * which documents were duplicated. This method catches those ID and print them.
+ * MongoBulkWriteException contains error messages that inform which documents were duplicated.
+ * This method catches those ID and print them.
+ *
* @param e
*/
private void printDuplicatedException(MongoBulkWriteException e) {
@@ -127,19 +123,17 @@ public class MongoNotebookRepo implements NotebookRepo {
}
/**
- * Find documents of which type of _id is object ID, and change it to note ID.
- * Since updating _id field is not allowed, remove original documents and insert
- * new ones with string _id(note ID)
+ * Find documents of which type of _id is object ID, and change it to note ID. Since updating _id
+ * field is not allowed, remove original documents and insert new ones with string _id(note ID)
*/
private void syncId() {
// find documents whose id type is object id
- MongoCursor<Document> cursor = coll.find(type("_id", BsonType.OBJECT_ID)).iterator();
+ MongoCursor<Document> cursor = coll.find(type("_id", BsonType.OBJECT_ID)).iterator();
// if there is no such document, exit
- if (!cursor.hasNext())
- return;
+ if (!cursor.hasNext()) return;
- List<ObjectId> oldDocIds = new LinkedList<>(); // document ids need to update
- List<Document> updatedDocs = new LinkedList<>(); // new documents to be inserted
+ List<ObjectId> oldDocIds = new LinkedList<>(); // document ids need to update
+ List<Document> updatedDocs = new LinkedList<>(); // new documents to be inserted
while (cursor.hasNext()) {
Document doc = cursor.next();
@@ -158,9 +152,7 @@ public class MongoNotebookRepo implements NotebookRepo {
cursor.close();
}
- /**
- * Convert document to note
- */
+ /** Convert document to note */
private Note documentToNote(Document doc) {
// document to JSON
String json = doc.toJson();
@@ -168,9 +160,7 @@ public class MongoNotebookRepo implements NotebookRepo {
return Note.fromJson(json);
}
- /**
- * Convert note to document
- */
+ /** Convert note to document */
private Document noteToDocument(Note note) {
// note to JSON
String json = note.toJson();
@@ -218,5 +208,4 @@ public class MongoNotebookRepo implements NotebookRepo {
public void updateSettings(Map<String, String> settings, AuthenticationInfo subject) {
LOG.warn("Method not implemented");
}
-
}