From 736a90379ec0a6cfe3ac34e611fe43f1ef4fa70a Mon Sep 17 00:00:00 2001 From: "yaoh.wu" Date: Fri, 25 Oct 2019 14:38:21 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-23267=20=E8=BF=9C=E7=A8=8B=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=B5=8B=E8=AF=95=E8=BF=9E=E6=8E=A5=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=8F=90=E9=86=92=EF=BC=8C=E5=8F=8A=E9=A1=BA?= =?UTF-8?q?=E5=B8=A6=E5=A4=84=E7=90=86=E7=9A=84sonar=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/env/RemoteEnvPane.java | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java b/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java index 5045766dfb..20f698a3fa 100644 --- a/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java +++ b/designer-base/src/main/java/com/fr/env/RemoteEnvPane.java @@ -52,15 +52,16 @@ import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; -import java.util.concurrent.ExecutionException; import static com.fr.design.layout.TableLayout.FILL; import static com.fr.design.layout.TableLayout.PREFERRED; +import static com.fr.env.TestConnectionResult.AUTH_FAILED; import static com.fr.third.guava.base.Optional.fromNullable; /** * @author yaohwu */ +@SuppressWarnings("squid:MaximumInheritanceDepth") public class RemoteEnvPane extends BasicBeanPane { private static final Color TIPS_FONT_COLOR = new Color(0x8f8f92); @@ -118,6 +119,7 @@ public class RemoteEnvPane extends BasicBeanPane { /** * 主机位置 */ + @SuppressWarnings("squid:S1948") private RemoteWorkspaceURL remoteWorkspaceURL = new RemoteWorkspaceURL(""); /** * https 配置面板 @@ -138,6 +140,7 @@ public class RemoteEnvPane extends BasicBeanPane { /** * 主机名,web应用,Servlet,端口监听器 */ + @SuppressWarnings("squid:S1948") private DocumentListener individualDocListener = new DocumentListener() { @Override @@ -148,19 +151,32 @@ public class RemoteEnvPane extends BasicBeanPane { @Override public void insertUpdate(DocumentEvent e) { - updateRemoteURL(); - fillRemoteEnvURLField(); + changedUpdate(e); } @Override public void removeUpdate(DocumentEvent e) { - updateRemoteURL(); - fillRemoteEnvURLField(); + changedUpdate(e); + } + + private void updateRemoteURL() { + boolean isHttps = httpsCheckbox.isSelected(); + String host = hostNameInput.getText(); + String port = portInput.getText(); + String web = webAppNameInput.getText(); + String servlet = servletNameInput.getText(); + remoteWorkspaceURL.setHttps(isHttps); + remoteWorkspaceURL.setHost(host); + remoteWorkspaceURL.setPort(port); + remoteWorkspaceURL.setWeb(web); + remoteWorkspaceURL.setServlet(servlet); + remoteWorkspaceURL.resetUrl(); } }; /** * 路径输入框监听器 */ + @SuppressWarnings("squid:S1948") private DocumentListener overallDocListener = new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { @@ -169,7 +185,6 @@ public class RemoteEnvPane extends BasicBeanPane { @Override public void removeUpdate(DocumentEvent e) { - actionURLInputChange(); } @@ -177,10 +192,22 @@ public class RemoteEnvPane extends BasicBeanPane { public void changedUpdate(DocumentEvent e) { actionURLInputChange(); } + + private void actionURLInputChange() { + remoteWorkspaceURL = new RemoteWorkspaceURL(remoteEnvURLInput.getText()); + fillIndividualField(); + + httpsCheckbox.setSelected(remoteWorkspaceURL.getHttps()); + boolean isHttps = httpsCheckbox.isSelected(); + DesignerEnvManager.getEnvManager().setHttps(isHttps); + fileChooserButton.setEnabled(isHttps); + updateHttpsConfigPanel(); + } }; /** * https checkbox listener */ + @SuppressWarnings("squid:S1948") private ActionListener httpsCheckboxListener = new ActionListener() { @Override @@ -523,17 +550,17 @@ public class RemoteEnvPane extends BasicBeanPane { final RemoteDesignerWorkspaceInfo remoteEnv = updateBean(); final WorkspaceConnectionInfo connection = remoteEnv.getConnection(); - final SwingWorker worker = new SwingWorker() { + final SwingWorker worker = new SwingWorker() { @Override - protected Boolean doInBackground() throws Exception { + protected TestConnectionResult doInBackground() throws Exception { DesignerEnvManager.getEnvManager().setCertificatePath(connection.getCertPath()); DesignerEnvManager.getEnvManager().setCertificatePass(connection.getCertSecretKey()); try { - return WorkContext.getConnector().testConnection(connection); + return TestConnectionResult.parse(WorkContext.getConnector().testConnection(connection), connection); } catch (WorkspaceAuthException ignored) { - return null; + return AUTH_FAILED; } } @@ -541,14 +568,13 @@ public class RemoteEnvPane extends BasicBeanPane { protected void done() { okButton.setEnabled(true); try { - TestConnectionResult result = TestConnectionResult.parse(get(), connection); + TestConnectionResult result = get(); message.setText(result.getText()); uiLabel.setIcon(result.getIcon()); - } catch (InterruptedException | ExecutionException e) { + } catch (Exception e) { FineLoggerFactory.getLogger().error(e, e.getMessage()); message.setText(Toolkit.i18nText("Fine-Design_Basic_Remote_Connect_Failed")); uiLabel.setIcon(UIManager.getIcon("OptionPane.errorIcon")); - Thread.currentThread().interrupt(); } dialogDownPane.remove(cancelButton); dialogDownPane.revalidate(); @@ -633,36 +659,10 @@ public class RemoteEnvPane extends BasicBeanPane { enableSubDocListener(); } - private void updateRemoteURL() { - boolean isHttps = httpsCheckbox.isSelected(); - String host = hostNameInput.getText(); - String port = portInput.getText(); - String web = webAppNameInput.getText(); - String servlet = servletNameInput.getText(); - remoteWorkspaceURL.setHttps(isHttps); - remoteWorkspaceURL.setHost(host); - remoteWorkspaceURL.setPort(port); - remoteWorkspaceURL.setWeb(web); - remoteWorkspaceURL.setServlet(servlet); - remoteWorkspaceURL.resetUrl(); - } - - private void updateHttpsConfigPanel() { httpsConfigPanel.removeAll(); packHttpsConfigPanel(); httpsConfigPanel.revalidate(); httpsConfigPanel.repaint(); } - - private void actionURLInputChange() { - remoteWorkspaceURL = new RemoteWorkspaceURL(remoteEnvURLInput.getText()); - fillIndividualField(); - - httpsCheckbox.setSelected(remoteWorkspaceURL.getHttps()); - boolean isHttps = httpsCheckbox.isSelected(); - DesignerEnvManager.getEnvManager().setHttps(isHttps); - fileChooserButton.setEnabled(isHttps); - updateHttpsConfigPanel(); - } }