You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2016/06/14 01:33:01 UTC
zeppelin git commit: [ZEPPELIN-957] Normalize note name.
Repository: zeppelin
Updated Branches:
refs/heads/master 794d4b385 -> bda1cc561
[ZEPPELIN-957] Normalize note name.
### What is this PR for?
It's better if notebook name can be normalized.
### What type of PR is it?
Improvement
### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-957
### How should this be tested?
Try create notebook name with many slashes and no slashes.
You can refer to screen shot.
### Screenshots (if appropriate)
- before
![be](https://cloud.githubusercontent.com/assets/3348133/15809552/9bf9e26e-2bce-11e6-942c-df655ee52176.gif)
- after
![af](https://cloud.githubusercontent.com/assets/3348133/15809553/9ff43c48-2bce-11e6-9f69-2b7a00bfc91e.gif)
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: astroshim <hs...@nflabs.com>
Closes #965 from astroshim/ZEPPELIN-957 and squashes the following commits:
eb95adb [astroshim] adjust line
2370654 [astroshim] fix things that moon pointed out.
2f4d245 [astroshim] check windows path
7aca4bf [astroshim] move method to util
2a255ac [astroshim] change method name.
e549977 [astroshim] normalize note name
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/bda1cc56
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/bda1cc56
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/bda1cc56
Branch: refs/heads/master
Commit: bda1cc561ca52de90287922b92f3a443187a0fec
Parents: 794d4b3
Author: astroshim <hs...@nflabs.com>
Authored: Sun Jun 12 01:20:42 2016 +0900
Committer: Lee moon soo <mo...@apache.org>
Committed: Mon Jun 13 18:34:34 2016 -0700
----------------------------------------------------------------------
.../java/org/apache/zeppelin/notebook/Note.java | 16 +++++++++++++
.../apache/zeppelin/notebook/NotebookTest.java | 25 ++++++++++++++++++++
2 files changed, 41 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bda1cc56/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
index 6941dc9..80f2d70 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
@@ -116,7 +116,23 @@ public class Note implements Serializable, JobListener {
return name;
}
+ private String normalizeNoteName(String name){
+ name = name.trim();
+ name = name.replace("\\", "/");
+ while (name.indexOf("///") >= 0) {
+ name = name.replaceAll("///", "/");
+ }
+ name = name.replaceAll("//", "/");
+ if (name.length() == 0) {
+ name = "/";
+ }
+ return name;
+ }
+
public void setName(String name) {
+ if (name.indexOf('/') >= 0 || name.indexOf('\\') >= 0) {
+ name = normalizeNoteName(name);
+ }
this.name = name;
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bda1cc56/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
index 80ef50f..53749d1 100644
--- a/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
+++ b/zeppelin-zengine/src/test/java/org/apache/zeppelin/notebook/NotebookTest.java
@@ -643,6 +643,31 @@ public class NotebookTest implements JobListenerFactory{
notebook.removeNote(note1.getId());
}
+ @Test
+ public void testNormalizeNoteName() throws IOException {
+ // create a notes
+ Note note1 = notebook.createNote();
+
+ note1.setName("MyNote");
+ assertEquals(note1.getName(), "MyNote");
+
+ note1.setName("/MyNote");
+ assertEquals(note1.getName(), "/MyNote");
+
+ note1.setName("MyNote/sub");
+ assertEquals(note1.getName(), "MyNote/sub");
+
+ note1.setName("/MyNote/sub");
+ assertEquals(note1.getName(), "/MyNote/sub");
+
+ note1.setName("///////MyNote//////sub");
+ assertEquals(note1.getName(), "/MyNote/sub");
+
+ note1.setName("\\\\\\MyNote///sub");
+ assertEquals(note1.getName(), "/MyNote/sub");
+
+ notebook.removeNote(note1.getId());
+ }
private void delete(File file){
if(file.isFile()) file.delete();