Browse Source

Merge pull request #15776 in DESIGN/design from fbp/feature to fbp/research

* commit '89c6b51266d4a740fd61f7f549308e30ae9715ac':
  REPORT-140626 & REPORT-140622 远程连接主机配置书写体验优化
  REPORT-143504 & REPORT-143500 数据集加解密适配
fbp/research
superman 2 months ago
parent
commit
e986f4bb82
  1. 2
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
  2. 2
      designer-base/src/main/java/com/fr/env/RemoteEnvPane.java
  3. 28
      designer-base/src/main/java/com/fr/env/RemoteWorkspaceURL.java
  4. 18
      designer-base/src/test/java/com/fr/env/RemoteWorkspaceURLTest.java

2
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java

@ -558,8 +558,10 @@ public class DBTableDataPane extends AbstractTableDataPane<DBTableData> implemen
}
//保存
if (this.configHandler != null) {
this.configHandler.save(this.dbTableData, this.strategyConfig);
}
}
private void updateDBTableData() {
String dbName = this.connectionTableProcedurePane.getSelectedDatabaseConnnectonName();

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

@ -336,7 +336,7 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteDesignerWorkspaceInfo> {
@Override
public RemoteDesignerWorkspaceInfo updateBean() {
String url = removeSpaces(this.remoteWorkspaceURL.getURL());
String url = removeSpaces(this.remoteWorkspaceURL.getStandardURL());
String username = removeSpaces(this.usernameInput.getText());
String password = new String(this.passwordInput.getPassword());
boolean rememberPwd = this.rememberPwdCheckbox.isSelected();

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

@ -1,17 +1,17 @@
package com.fr.env;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.AssistUtils;
import com.fr.stable.FCloneable;
import com.fr.stable.StringUtils;
import java.net.URI;
import java.net.URISyntaxException;
import com.fr.third.guava.base.Strings;
/**
* @author yaohwu
*/
public class RemoteWorkspaceURL implements FCloneable {
private static final String SLASH = "/";
private static final String IPV6_JUDGE_SYMBOL = "[";
private static final String IPV6_JUDGE_SYMBOL2 = "]";
@ -126,25 +126,41 @@ public class RemoteWorkspaceURL implements FCloneable {
this.servlet = servlet != null ? servlet.trim() : StringUtils.EMPTY;
}
/**
* 用于UI联动的URL不一定是标准远程设计URL
*
* @return 原始或生成的URL
*/
public String getURL() {
if (this.url != null) {
return url;
}
String prefix = isHttps ? HTTPS : HTTP;
String portColon = StringUtils.isNotEmpty(port) ? ":" : StringUtils.EMPTY;
String webAppNameSlash = StringUtils.isNotEmpty(web) ? "/" : StringUtils.EMPTY;
String servletNameSlash = "/";
this.url = prefix + host + portColon + port + webAppNameSlash + web + servletNameSlash;
String webAppNameSlash = StringUtils.isNotEmpty(web) ? SLASH : StringUtils.EMPTY;
this.url = prefix + host + portColon + port + webAppNameSlash + web + SLASH + servlet;
return this.url;
}
/**
* 获取用于远程连接的可用URL
*
* @return 远程连接的可用URL
*/
public String getStandardURL() {
String prefix = isHttps ? HTTPS : HTTP;
String portColon = StringUtils.isNotEmpty(port) ? ":" : StringUtils.EMPTY;
String webAppNameSlash = StringUtils.isNotEmpty(web) ? SLASH : StringUtils.EMPTY;
return prefix + host + portColon + port + webAppNameSlash + web + SLASH;
}
/**
* IPV6地址格式不同,处理字符串的方式不同,需要处理的是port和host
* 形如 http://[XXXX::XXXX:XXXX:XXXX:XXXX]:8080/webroot/decision
*/
public void refreshIPV6Format() {
String url = this.url;
if (Strings.isNullOrEmpty(url)) {
if (StringUtils.isEmpty(url)) {
return;
}
if (!url.contains(IPV6_JUDGE_SYMBOL) || !url.contains(IPV6_JUDGE_SYMBOL2)) {

18
designer-base/src/test/java/com/fr/env/RemoteWorkspaceURLTest.java vendored

@ -243,6 +243,24 @@ public class RemoteWorkspaceURLTest {
//others begin
}
@Test
public void testStandardURL(){
assertEquals("https://www.baidu.com/web/",
new RemoteWorkspaceURL("https://www.baidu.com/web//dfsaf/fdsafds").getStandardURL());
assertEquals("https://www.baidu.com/中文·o((⊙﹏⊙))o囖/",
new RemoteWorkspaceURL("https://www.baidu.com/中文·o((⊙﹏⊙))o囖//dfsaf/fdsafds").getStandardURL());
assertEquals("https://www.baidu.com/web/",
new RemoteWorkspaceURL("https://www.baidu.com/web").getStandardURL());
assertEquals("https://www.baidu.com/web/",
new RemoteWorkspaceURL("https://www.baidu.com/web//").getStandardURL());
assertEquals("https://www.baidu.com/web/",
new RemoteWorkspaceURL("https://www.baidu.com/web/servlet").getStandardURL());
}
@Test
public void testIPV6Url() {
String trueUrl = "http://[fe80::4d83:cc10:9f6f:3303]:8080/webroot/decision";

Loading…
Cancel
Save