From bf784d2d7e94b773790a12e9acab596ec9371054 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Fri, 30 Jun 2017 12:33:43 +0300 Subject: [PATCH] Jupyter Notebook: added validation for URL+token --- .../ipnb/configuration/IpnbConnectionManager.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java b/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java index 35e0d84f33d7..7b1f9aab1992 100644 --- a/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java +++ b/python/ipnb/src/org/jetbrains/plugins/ipnb/configuration/IpnbConnectionManager.java @@ -14,6 +14,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.InputValidator; import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.popup.*; @@ -174,7 +175,18 @@ public final class IpnbConnectionManager implements ProjectComponent, Disposable private static Pair askForUrlAndToken() { final String urlToken = Messages.showInputDialog("Please, enter your Jupyter Notebook URL and authentication token", - "Jupyter Notebook", null, "http://localhost:8888/?token=", null); + "Jupyter Notebook", null, "http://localhost:8888/?token=", + new InputValidator() { + @Override + public boolean checkInput(String inputString) { + return !inputString.endsWith("?token="); + } + + @Override + public boolean canClose(String inputString) { + return true; + } + }); if (!StringUtil.isEmptyOrSpaces(urlToken)) { final String trimmed = urlToken.trim(); final List strings = StringUtil.split(trimmed, "?token=", true);