Browse Source

REPORT-81270 远程连接配置界面处理IPV6格式的url--代码调整

release/11.0
John.Ying 2 years ago
parent
commit
f9e6aa5520
  1. 8
      designer-base/src/main/java/com/fr/env/RemoteEnvPane.java
  2. 17
      designer-base/src/main/java/com/fr/env/RemoteWorkspaceURL.java

8
designer-base/src/main/java/com/fr/env/RemoteEnvPane.java vendored

@ -75,7 +75,6 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private UIButton okButton = new UIButton(Toolkit.i18nText("Fine-Design_Report_OK")); private UIButton okButton = new UIButton(Toolkit.i18nText("Fine-Design_Report_OK"));
private UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel")); private UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel"));
private UILabel uiLabel = new UILabel(); private UILabel uiLabel = new UILabel();
private static final String IPV6_JUDGE_SYMBOL = "[";
/** /**
* 是否启用 https 勾选框 * 是否启用 https 勾选框
@ -210,9 +209,6 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
private void actionURLInputChange() { private void actionURLInputChange() {
remoteWorkspaceURL = new RemoteWorkspaceURL(remoteEnvURLInput.getText()); remoteWorkspaceURL = new RemoteWorkspaceURL(remoteEnvURLInput.getText());
if (remoteWorkspaceURL.getURL().contains(IPV6_JUDGE_SYMBOL)) {
remoteWorkspaceURL.refreshIPV6Format();
}
fillIndividualField(); fillIndividualField();
httpsCheckbox.setSelected(remoteWorkspaceURL.getHttps()); httpsCheckbox.setSelected(remoteWorkspaceURL.getHttps());
@ -329,10 +325,6 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
this.remoteWorkspaceURL = Strings.isNullOrEmpty(connection.getUrl()) this.remoteWorkspaceURL = Strings.isNullOrEmpty(connection.getUrl())
? RemoteWorkspaceURL.createDefaultURL() ? RemoteWorkspaceURL.createDefaultURL()
: new RemoteWorkspaceURL(connection.getUrl()); : new RemoteWorkspaceURL(connection.getUrl());
//判断一下IP地址是不是IPV6的格式,如果是的话在拆分地址和端口的时候需要调整一下格式,用[ 或者 ] 判断
if (!Strings.isNullOrEmpty(connection.getUrl()) && connection.getUrl().contains(IPV6_JUDGE_SYMBOL)) {
this.remoteWorkspaceURL.refreshIPV6Format();
}
String username = fromNullable(connection.getUserName()).or(StringUtils.EMPTY); String username = fromNullable(connection.getUserName()).or(StringUtils.EMPTY);
String pwd = fromNullable(connection.getPassword()).or(StringUtils.EMPTY); String pwd = fromNullable(connection.getPassword()).or(StringUtils.EMPTY);
String certPath = fromNullable(connection.getCertPath()).or(StringUtils.EMPTY); String certPath = fromNullable(connection.getCertPath()).or(StringUtils.EMPTY);

17
designer-base/src/main/java/com/fr/env/RemoteWorkspaceURL.java vendored

@ -6,12 +6,15 @@ import com.fr.stable.FCloneable;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import com.fr.third.guava.base.Strings;
/** /**
* @author yaohwu * @author yaohwu
*/ */
public class RemoteWorkspaceURL implements FCloneable { public class RemoteWorkspaceURL implements FCloneable {
private static final String IPV6_JUDGE_SYMBOL = "[";
private static final String IPV6_JUDGE_SYMBOL2 = "]";
public static final String SYSTEM_LOGIN_PATH = "#management/system/login"; public static final String SYSTEM_LOGIN_PATH = "#management/system/login";
@ -102,6 +105,7 @@ public class RemoteWorkspaceURL implements FCloneable {
parserWebAndServlet(lefts); parserWebAndServlet(lefts);
} }
} }
this.refreshIPV6Format();
} }
public boolean hasDefaultHostName() { public boolean hasDefaultHostName() {
@ -139,12 +143,18 @@ public class RemoteWorkspaceURL implements FCloneable {
*/ */
public void refreshIPV6Format() { public void refreshIPV6Format() {
String url = this.url; String url = this.url;
if (Strings.isNullOrEmpty(url)) {
return;
}
if (!url.contains(IPV6_JUDGE_SYMBOL) || !url.contains(IPV6_JUDGE_SYMBOL2)) {
return;
}
try { try {
URI uri = new URI(url); URI uri = new URI(url);
this.host = uri.getHost(); this.host = uri.getHost();
this.port = String.valueOf(uri.getPort()); this.port = String.valueOf(uri.getPort());
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
FineLoggerFactory.getLogger().info("error request url"); FineLoggerFactory.getLogger().info("error request url format");
} }
} }
@ -249,4 +259,7 @@ public class RemoteWorkspaceURL implements FCloneable {
} }
} }
public static void main(String[] args) {
System.out.println("".contains("/"));
}
} }
Loading…
Cancel
Save