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 ed1c41209ff..72ecc47c635 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 @@ -28,9 +28,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URISyntaxException; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; @@ -175,15 +173,4 @@ public void remove(String folderPath, AuthenticationInfo subject) { public void close() { } - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - } - } 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 08085590df1..973c18d412c 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 @@ -28,7 +28,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -132,15 +131,4 @@ public void close() { LOGGER.warn("close is not implemented for FileSystemNotebookRepo"); } - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("getSettings is not implemented for FileSystemNotebookRepo"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("updateSettings is not implemented for FileSystemNotebookRepo"); - } - } 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 8ce273474ca..ee51db86634 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 @@ -34,7 +34,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -304,14 +303,4 @@ public void close() { //no-op } - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("getSettings is not implemented for GCSNotebookRepo"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("updateSettings is not implemented for GCSNotebookRepo"); - } } diff --git a/zeppelin-plugins/notebookrepo/mongo/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java b/zeppelin-plugins/notebookrepo/mongo/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java index a950e111568..d02589596a0 100644 --- a/zeppelin-plugins/notebookrepo/mongo/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java +++ b/zeppelin-plugins/notebookrepo/mongo/src/main/java/org/apache/zeppelin/notebook/repo/MongoNotebookRepo.java @@ -332,17 +332,6 @@ public void close() { client.close(); } - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - } - /** * create until parent folder if not exists. * diff --git a/zeppelin-plugins/notebookrepo/oss/src/main/java/org/apache/zeppelin/notebook/repo/OSSNotebookRepo.java b/zeppelin-plugins/notebookrepo/oss/src/main/java/org/apache/zeppelin/notebook/repo/OSSNotebookRepo.java index 2b3cb0a6361..f480d53b4ae 100644 --- a/zeppelin-plugins/notebookrepo/oss/src/main/java/org/apache/zeppelin/notebook/repo/OSSNotebookRepo.java +++ b/zeppelin-plugins/notebookrepo/oss/src/main/java/org/apache/zeppelin/notebook/repo/OSSNotebookRepo.java @@ -184,18 +184,6 @@ public void close() { ossOperator.shutdown(); } - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - } - - private static String buildRevisionsDirName(String noteId, String notePath) throws IOException { if (!notePath.startsWith("/")) { throw new IOException("Invalid notePath: " + notePath); diff --git a/zeppelin-plugins/notebookrepo/s3/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java b/zeppelin-plugins/notebookrepo/s3/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java index 1c0ba6f2e26..87ebeb65ba9 100644 --- a/zeppelin-plugins/notebookrepo/s3/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java +++ b/zeppelin-plugins/notebookrepo/s3/src/main/java/org/apache/zeppelin/notebook/repo/S3NotebookRepo.java @@ -23,9 +23,7 @@ import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.apache.commons.io.FileUtils; @@ -324,15 +322,4 @@ public void close() { s3client.shutdown(); } } - - @Override - public List getSettings(AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - LOGGER.warn("Method not implemented"); - } } diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/InMemoryNotebookRepo.java b/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/InMemoryNotebookRepo.java index c6df1490228..7ea3fd7452a 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/InMemoryNotebookRepo.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/InMemoryNotebookRepo.java @@ -25,9 +25,7 @@ import org.apache.zeppelin.user.AuthenticationInfo; import java.io.IOException; -import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; public class InMemoryNotebookRepo extends AbstractNotebookRepo { @@ -107,16 +105,6 @@ public void close() { } - @Override - public List getSettings(AuthenticationInfo subject) { - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - - } - public void reset() { this.notes.clear(); } diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java b/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java index 021a6b860d7..7bd25a2bf7a 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/notebook/repo/NotebookRepo.java @@ -23,9 +23,11 @@ import org.apache.zeppelin.notebook.NoteParser; import org.apache.zeppelin.notebook.NoteInfo; import org.apache.zeppelin.user.AuthenticationInfo; +import org.slf4j.LoggerFactory; import java.io.Closeable; import java.io.IOException; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -125,20 +127,33 @@ void move(String folderPath, String newFolderPath, /** * Get NotebookRepo settings got the given user. * + * Implementations that don't expose any configurable setting can rely on this default, + * which reports that the repo has no settings. + * * @param subject * @return */ @ZeppelinApi - List getSettings(AuthenticationInfo subject); + default List getSettings(AuthenticationInfo subject) { + LoggerFactory.getLogger(getClass()) + .debug("getSettings is not implemented for {}", getClass().getSimpleName()); + return Collections.emptyList(); + } /** * update notebook repo settings. * + * Implementations that don't expose any configurable setting can rely on this default, + * which ignores the update and warns about it. + * * @param settings * @param subject */ @ZeppelinApi - void updateSettings(Map settings, AuthenticationInfo subject); + default void updateSettings(Map settings, AuthenticationInfo subject) { + LoggerFactory.getLogger(getClass()) + .warn("updateSettings is not implemented for {}", getClass().getSimpleName()); + } NoteParser getNoteParser(); diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java index 39e6ec70e38..b0787cfa815 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java @@ -31,7 +31,6 @@ import org.apache.zeppelin.interpreter.InterpreterSetting; import org.apache.zeppelin.interpreter.remote.RemoteInterpreter; import org.apache.zeppelin.notebook.repo.NotebookRepo; -import org.apache.zeppelin.notebook.repo.NotebookRepoSettingsInfo; import org.apache.zeppelin.notebook.repo.NotebookRepoWithVersionControl; import org.apache.zeppelin.notebook.repo.VFSNotebookRepo; import org.apache.zeppelin.notebook.scheduler.QuartzSchedulerService; @@ -61,7 +60,6 @@ import java.nio.file.Files; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -190,16 +188,6 @@ public void close() { } - @Override - public List getSettings(AuthenticationInfo subject) { - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - - } - @Override public NoteParser getNoteParser() { return null; @@ -276,16 +264,6 @@ public void close() { } - @Override - public List getSettings(AuthenticationInfo subject) { - return Collections.emptyList(); - } - - @Override - public void updateSettings(Map settings, AuthenticationInfo subject) { - - } - @Override public NoteParser getNoteParser() { return null;