ju 6 years ago
parent
commit
9ae0f14ca4
  1. 51
      designer-base/src/com/fr/design/DesignerEnvManager.java
  2. 5
      designer-base/src/com/fr/design/actions/file/LocalePane.java
  3. 19
      designer-base/src/com/fr/design/actions/file/SwitchExistEnv.java
  4. 27
      designer-base/src/com/fr/design/env/DesignerWorkspaceGenerator.java
  5. 104
      designer-base/src/com/fr/design/env/DesignerWorkspaceInfo.java
  6. 10
      designer-base/src/com/fr/design/env/DesignerWorkspaceType.java
  7. 137
      designer-base/src/com/fr/design/env/RemoteEnvConfig.java
  8. 7
      designer-base/src/com/fr/design/env/RemoteWorkspace.java
  9. 2
      designer-base/src/com/fr/design/mainframe/DesignerFrame.java
  10. 3
      designer-base/src/com/fr/design/mainframe/JTemplate.java
  11. 25
      designer-base/src/com/fr/design/mainframe/TemplatePane.java
  12. 34
      designer-base/src/com/fr/design/mainframe/loghandler/socketio/DesignerSocketIO.java
  13. 7
      designer-base/src/com/fr/design/mainframe/templateinfo/TemplateInfoCollector.java
  14. 70
      designer-base/src/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java
  15. 1
      designer-base/src/com/fr/design/utils/DesignUtils.java
  16. 12
      designer-base/src/com/fr/env/EnvListPane.java
  17. 10
      designer-base/src/com/fr/env/LocalEnvPane.java
  18. 1521
      designer-base/src/com/fr/env/RemoteEnv.java
  19. 35
      designer-base/src/com/fr/env/RemoteEnvPane.java
  20. 2
      designer-base/src/com/fr/file/FileNodeFILE.java
  21. 11
      designer-chart/src/com/fr/design/chart/series/PlotSeries/MapGroupExtensionPane.java
  22. 3
      designer-realize/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java
  23. 4
      designer-realize/src/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java
  24. 2
      designer-realize/src/com/fr/start/EnvSwitcher.java

51
designer-base/src/com/fr/design/DesignerEnvManager.java

@ -6,11 +6,10 @@ package com.fr.design;
import com.fr.base.BaseXMLUtils; import com.fr.base.BaseXMLUtils;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.Utils; import com.fr.base.Utils;
import com.fr.base.env.EnvConfig;
import com.fr.base.env.LocalEnvConfig;
import com.fr.design.actions.help.alphafine.AlphaFineConfigManager; import com.fr.design.actions.help.alphafine.AlphaFineConfigManager;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.env.DesignerWorkspaceGenerator; import com.fr.design.env.DesignerWorkspaceGenerator;
import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.file.FILEFactory; import com.fr.file.FILEFactory;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.FRLogFormatter; import com.fr.general.FRLogFormatter;
@ -73,7 +72,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
private boolean showPaintToolBar = true; private boolean showPaintToolBar = true;
private int maxNumberOrPreviewRow = 200; private int maxNumberOrPreviewRow = 200;
// name和Env的键值对 // name和Env的键值对
private Map<String, EnvConfig> nameEnvMap = new ListMap<>(); private Map<String, DesignerWorkspaceInfo> nameEnvMap = new ListMap<>();
// marks: 当前报表服务器名字 // marks: 当前报表服务器名字
private String curEnvName = null; private String curEnvName = null;
private boolean showProjectPane = true; private boolean showProjectPane = true;
@ -194,7 +193,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
if (installHome != null) { if (installHome != null) {
String name = Inter.getLocText("FR-Engine_DEFAULT"); String name = Inter.getLocText("FR-Engine_DEFAULT");
String envPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME}); String envPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME});
designerEnvManager.putEnv(name, new LocalEnvConfig(envPath, name)); designerEnvManager.putEnv(name, DesignerWorkspaceInfo.createLocal(name, envPath));
designerEnvManager.setCurEnvName(name); designerEnvManager.setCurEnvName(name);
} }
} }
@ -327,7 +326,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
} }
// 清空前一个版本中的工作目录和最近打开 // 清空前一个版本中的工作目录和最近打开
nameEnvMap = new ListMap<String, EnvConfig>(); nameEnvMap = new ListMap<String, DesignerWorkspaceInfo>();
recentOpenedFilePathList = new ArrayList<String>(); recentOpenedFilePathList = new ArrayList<String>();
curEnvName = null; curEnvName = null;
designerEnvManager.saveXMLFile(); designerEnvManager.saveXMLFile();
@ -474,28 +473,29 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
* @return 是默认则返回true * @return 是默认则返回true
*/ */
public boolean isCurrentEnvDefault() { public boolean isCurrentEnvDefault() {
EnvConfig currentEnv = this.getEnv(curEnvName);
DesignerWorkspaceInfo current = this.getWorkspaceInfo(curEnvName);
String defaultEnvPath = StableUtils.pathJoin(new String[]{StableUtils.getInstallHome(), ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME}); String defaultEnvPath = StableUtils.pathJoin(new String[]{StableUtils.getInstallHome(), ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME});
return ComparatorUtils.equals(new File(defaultEnvPath).getPath(), currentEnv.getPath()); return ComparatorUtils.equals(new File(defaultEnvPath).getPath(), current.getPath());
} }
/** /**
* 返回默认环境 * 返回默认环境
*/ */
public EnvConfig getDefaultConfig() { public DesignerWorkspaceInfo getDefaultConfig() {
String installHome = StableUtils.getInstallHome(); String installHome = StableUtils.getInstallHome();
String defaultenvPath = StableUtils.pathJoin(installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME); String defaultenvPath = StableUtils.pathJoin(installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME);
defaultenvPath = new File(defaultenvPath).getPath(); defaultenvPath = new File(defaultenvPath).getPath();
Iterator<Entry<String, EnvConfig>> entryIt = nameEnvMap.entrySet().iterator(); Iterator<Entry<String, DesignerWorkspaceInfo>> entryIt = nameEnvMap.entrySet().iterator();
while (entryIt.hasNext()) { while (entryIt.hasNext()) {
Entry<String, EnvConfig> entry = entryIt.next(); Entry<String, DesignerWorkspaceInfo> entry = entryIt.next();
EnvConfig env = entry.getValue(); DesignerWorkspaceInfo env = entry.getValue();
if (ComparatorUtils.equals(defaultenvPath, env.getPath())) { if (ComparatorUtils.equals(defaultenvPath, env.getPath())) {
return env; return env;
} }
} }
String name = Inter.getLocText(new String[]{"Default", "Utils-Report_Runtime_Env"}); String name = Inter.getLocText(new String[]{"Default", "Utils-Report_Runtime_Env"});
EnvConfig newDefaultEnv = new LocalEnvConfig(defaultenvPath, name); DesignerWorkspaceInfo newDefaultEnv = DesignerWorkspaceInfo.createLocal(name, defaultenvPath);
this.putEnv(name, newDefaultEnv); this.putEnv(name, newDefaultEnv);
return newDefaultEnv; return newDefaultEnv;
} }
@ -508,10 +508,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
String defaultenvPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME}); String defaultenvPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME});
defaultenvPath = new File(defaultenvPath).getPath(); defaultenvPath = new File(defaultenvPath).getPath();
if (nameEnvMap.size() >= 0) { if (nameEnvMap.size() >= 0) {
Iterator<Entry<String, EnvConfig>> entryIt = nameEnvMap.entrySet().iterator(); Iterator<Entry<String, DesignerWorkspaceInfo>> entryIt = nameEnvMap.entrySet().iterator();
while (entryIt.hasNext()) { while (entryIt.hasNext()) {
Entry<String, EnvConfig> entry = entryIt.next(); Entry<String, DesignerWorkspaceInfo> entry = entryIt.next();
EnvConfig env = entry.getValue(); DesignerWorkspaceInfo env = entry.getValue();
if (ComparatorUtils.equals(defaultenvPath, env.getPath())) { if (ComparatorUtils.equals(defaultenvPath, env.getPath())) {
return entry.getKey(); return entry.getKey();
} }
@ -694,7 +694,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
/** /**
* 根据名称返回环境 * 根据名称返回环境
*/ */
public EnvConfig getEnv(String name) { public DesignerWorkspaceInfo getWorkspaceInfo(String name) {
return this.nameEnvMap.get(name); return this.nameEnvMap.get(name);
} }
@ -702,10 +702,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
* 记录名称 和对应的环境 * 记录名称 和对应的环境
* *
* @param name 名称 * @param name 名称
* @param env 对应的环境 * @param info 对应的环境信息
*/ */
public void putEnv(String name, EnvConfig env) { public void putEnv(String name, DesignerWorkspaceInfo info) {
this.nameEnvMap.put(name, env);
this.nameEnvMap.put(name, info);
} }
/** /**
@ -1418,7 +1419,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
// marks:兼容6.1的 // marks:兼容6.1的
// marks:设置默认的目录. // marks:设置默认的目录.
String curReportServerName = Inter.getLocText("Server-Embedded_Server"); String curReportServerName = Inter.getLocText("Server-Embedded_Server");
EnvConfig reportServer = new LocalEnvConfig(tmpVal,curReportServerName); DesignerWorkspaceInfo reportServer = DesignerWorkspaceInfo.createLocal(curReportServerName, tmpVal);
this.putEnv(curReportServerName, reportServer); this.putEnv(curReportServerName, reportServer);
this.setCurEnvName(curReportServerName); this.setCurEnvName(curReportServerName);
@ -1471,8 +1472,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
public void readXML(XMLableReader reader) { public void readXML(XMLableReader reader) {
if (reader.isChildNode()) { if (reader.isChildNode()) {
String tagName = reader.getTagName(); String tagName = reader.getTagName();
if (EnvConfig.XML_TAG.equals(tagName)) { if (DesignerWorkspaceInfo.XML_TAG.equals(tagName)) {
EnvConfig envConfig = (EnvConfig) GeneralXMLTools.readXMLable(reader); DesignerWorkspaceInfo envConfig = (DesignerWorkspaceInfo) GeneralXMLTools.readXMLable(reader);
putEnv(name, envConfig); putEnv(name, envConfig);
} }
} }
@ -1595,10 +1596,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
if (this.curEnvName != null) { if (this.curEnvName != null) {
writer.attr("currentEnv", this.curEnvName); writer.attr("currentEnv", this.curEnvName);
} }
for (Entry<String, EnvConfig> entry : nameEnvMap.entrySet()) { for (Entry<String, DesignerWorkspaceInfo> entry : nameEnvMap.entrySet()) {
writer.startTAG("EnvConfigElement").attr("name", entry.getKey()); writer.startTAG("EnvConfigElement").attr("name", entry.getKey());
EnvConfig envConfig = entry.getValue(); DesignerWorkspaceInfo envConfig = entry.getValue();
GeneralXMLTools.writeXMLable(writer, envConfig, EnvConfig.XML_TAG); GeneralXMLTools.writeXMLable(writer, envConfig, DesignerWorkspaceInfo.XML_TAG);
writer.end(); writer.end();
} }
writer.end(); writer.end();

5
designer-base/src/com/fr/design/actions/file/LocalePane.java

@ -13,11 +13,11 @@ import com.fr.design.gui.itextfield.UITextField;
import com.fr.file.filetree.FileNode; import com.fr.file.filetree.FileNode;
import com.fr.general.GeneralUtils; import com.fr.general.GeneralUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.workspace.WorkContext;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
@ -27,7 +27,6 @@ import javax.swing.table.TableRowSorter;
import java.awt.*; import java.awt.*;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
@ -196,7 +195,7 @@ public class LocalePane extends BasicPane {
for (FileNode fileNode : fileNodes) { for (FileNode fileNode : fileNodes) {
String fileName = fileNode.getName(); String fileName = fileNode.getName();
if (fileName.endsWith(".properties")) { if (fileName.endsWith(".properties")) {
InputStream in = new ByteArrayInputStream(env.getFileOperator().read(StableUtils.pathJoin(ProjectConstants.LOCALE_NAME, fileName))); InputStream in = new ByteArrayInputStream(WorkContext.getWorkResource().readFully(StableUtils.pathJoin(ProjectConstants.LOCALE_NAME, fileName)));
Properties properties = new Properties(); Properties properties = new Properties();
properties.load(in); properties.load(in);
keys.addAll(properties.stringPropertyNames()); keys.addAll(properties.stringPropertyNames());

19
designer-base/src/com/fr/design/actions/file/SwitchExistEnv.java

@ -1,14 +1,12 @@
package com.fr.design.actions.file; package com.fr.design.actions.file;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.env.EnvConfig;
import com.fr.base.env.LocalEnvConfig;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.DesignTableDataManager;
import com.fr.design.data.tabledata.ResponseDataSourceChange; import com.fr.design.data.tabledata.ResponseDataSourceChange;
import com.fr.design.env.DesignerWorkspaceGenerator; import com.fr.design.env.DesignerWorkspaceGenerator;
import com.fr.design.env.RemoteEnvConfig; import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
@ -67,11 +65,16 @@ public class SwitchExistEnv extends MenuDef {
public GetExistEnvAction(String envName) { public GetExistEnvAction(String envName) {
this.setName(envName); this.setName(envName);
EnvConfig env = DesignerEnvManager.getEnvManager().getEnv(envName); DesignerWorkspaceInfo env = DesignerEnvManager.getEnvManager().getWorkspaceInfo(envName);
if (env instanceof LocalEnvConfig) { switch (env.getType())
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/localconnect.png")); {
} else if (env instanceof RemoteEnvConfig) { case Local:{
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/localconnect.png"));
break;
}case Remote:{
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png")); this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png"));
break;
}
} }
} }
@ -99,7 +102,7 @@ public class SwitchExistEnv extends MenuDef {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
final String envName = getName(); final String envName = getName();
EnvConfig selectedEnv = envManager.getEnv(envName); DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(envName);
WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() { WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() {
@Override @Override
public void success() { public void success() {

27
designer-base/src/com/fr/design/env/DesignerWorkspaceGenerator.java vendored

@ -1,28 +1,31 @@
package com.fr.design.env; package com.fr.design.env;
import com.fr.base.Env;
import com.fr.base.env.EnvConfig;
import com.fr.base.env.LocalEnvConfig;
import com.fr.env.RemoteEnv;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.fr.workspace.Workspace; import com.fr.workspace.Workspace;
import com.fr.workspace.connect.WorkspaceClient; import com.fr.workspace.connect.WorkspaceClient;
import com.fr.workspace.connect.WorkspaceConnection;
/** /**
* 根据配置生成运行环境 * 根据配置生成运行环境
*/ */
public class DesignerWorkspaceGenerator { public class DesignerWorkspaceGenerator {
public static Workspace generate(EnvConfig config) { public static Workspace generate(DesignerWorkspaceInfo config) {
if (config == null || config.getType() == null) {
return null;
}
Workspace workspace = null; Workspace workspace = null;
if (config instanceof LocalEnvConfig) { switch (config.getType()) {
workspace = WorkContext.getFactory().build(config.getPath()); case Local: {
} else if (config instanceof RemoteEnvConfig) { workspace = WorkContext.getFactory().build(config.getPath());
RemoteEnvConfig remoteConfig = (RemoteEnvConfig) config; break;
WorkspaceClient client = WorkContext.getConnector().connect(new WorkspaceConnection(remoteConfig.getHost(), remoteConfig.getPort(), remoteConfig.getUsername(), remoteConfig.getPassword())); }
workspace = new RemoteWorkspace(client, remoteConfig.getHost() + ":" + remoteConfig.getPort(), remoteConfig.getPassword()); case Remote: {
WorkspaceClient client = WorkContext.getConnector().connect(config.getConnection());
workspace = new RemoteWorkspace(client, config.getConnection());
break;
}
} }
return workspace; return workspace;
} }

104
designer-base/src/com/fr/design/env/DesignerWorkspaceInfo.java vendored

@ -0,0 +1,104 @@
package com.fr.design.env;
import com.fr.security.SecurityToolbox;
import com.fr.stable.StringUtils;
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLable;
import com.fr.stable.xml.XMLableReader;
import com.fr.workspace.connect.WorkspaceConnection;
/**
* Created by juhaoyu on 2018/6/15.
*/
public class DesignerWorkspaceInfo implements XMLable {
private static final int DEFAULT_RPC_PORT = 39999;
public static final String XML_TAG = "DesignerWorkspace";
private DesignerWorkspaceType type;
private String name;
private String path;
private WorkspaceConnection connection;
public static DesignerWorkspaceInfo createLocal(String name, String path) {
DesignerWorkspaceInfo info = new DesignerWorkspaceInfo();
info.connection = null;
info.name = name;
info.path = path;
info.type = DesignerWorkspaceType.Local;
return info;
}
public void setName(String name) {
this.name = name;
}
public DesignerWorkspaceType getType() {
return type;
}
public String getName() {
return name;
}
public String getPath() {
return path;
}
public WorkspaceConnection getConnection() {
return connection;
}
@Override
public void readXML(XMLableReader reader) {
if (reader.isAttr()) {
this.name = reader.getAttrAsString("name", StringUtils.EMPTY);
this.type = DesignerWorkspaceType.valueOf(reader.getAttrAsString("name", "Local"));
this.path = reader.getAttrAsString("path", StringUtils.EMPTY);
}
if (reader.isChildNode()) {
String tagName = reader.getTagName();
if ("Connection".equals(tagName)) {
String ip = reader.getAttrAsString("ip", StringUtils.EMPTY);
int port = reader.getAttrAsInt("port", DEFAULT_RPC_PORT);
String username = reader.getAttrAsString("username", StringUtils.EMPTY);
//密码解密
String password = SecurityToolbox.decrypt(reader.getAttrAsString("password", StringUtils.EMPTY));
this.connection = new WorkspaceConnection(ip, port, username, password);
}
}
}
@Override
public void writeXML(XMLPrintWriter writer) {
writer.attr("name", name);
writer.attr("path", path);
writer.attr("type", type.toString());
if (this.connection != null) {
writer.startTAG("Connection");
writer.attr("ip", connection.getIp());
writer.attr("port", connection.getPort());
writer.attr("username", connection.getUserName());
writer.attr("password", SecurityToolbox.encrypt(connection.getPassword()));
writer.end();
}
}
@Override
public Object clone() throws CloneNotSupportedException {
return null;
}
}

10
designer-base/src/com/fr/design/env/DesignerWorkspaceType.java vendored

@ -0,0 +1,10 @@
package com.fr.design.env;
/**
* Created by juhaoyu on 2018/6/15.
* 设计器使用的workspace类型
*/
public enum DesignerWorkspaceType {
Local,
Remote
}

137
designer-base/src/com/fr/design/env/RemoteEnvConfig.java vendored

@ -1,137 +0,0 @@
package com.fr.design.env;
import com.fr.base.env.AbstractEnvConfig;
import com.fr.general.Inter;
import com.fr.security.SecurityToolbox;
import com.fr.stable.AssistUtils;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils;
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
public class RemoteEnvConfig extends AbstractEnvConfig {
public static final int DEFAULT_RPC_PORT = 39999;
private String host;
private int port;
private String username;
private String password;
public RemoteEnvConfig() {
super(name);
}
public RemoteEnvConfig(String host, int port, String username, String password) {
super(name);
this.host = host;
this.port = port;
this.username = username;
this.password = password;
}
@Override
public String getPath() {
return StableUtils.join(new Object[]{host, port}, ":");
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String getDescription(String name) {
return username + "@" + name + "[" + Inter.getLocText("Fine-Designer_Basic_Remote_Env") + "]";
}
@Override
public void readXML(XMLableReader reader) {
super.readXML(reader);
if (reader.isChildNode()) {
String tagName = reader.getTagName();
if ("Attr".equals(tagName)) {
this.host = reader.getAttrAsString("host", StringUtils.EMPTY);
this.port = reader.getAttrAsInt("port", DEFAULT_RPC_PORT);
this.username = reader.getAttrAsString("username", StringUtils.EMPTY);
String password = reader.getAttrAsString("password", StringUtils.EMPTY);
if (StringUtils.isNotEmpty(password)) {
this.password = SecurityToolbox.decrypt(password);
}
} else if ("Username".equals(tagName)) {
this.username = reader.getElementValue();
} else if ("Password".equals(tagName)) {
String txt = reader.getElementValue();
this.password = SecurityToolbox.decrypt(txt);
}
}
}
@Override
public void writeXML(XMLPrintWriter writer) {
super.writeXML(writer);
writer.startTAG("Attr")
.attr("host", host)
.attr("port", port);
writer.end();
writer.startTAG("Username").textNode(username).end();
if (StringUtils.isNotEmpty(password)) {
writer.startTAG("Password").textNode(SecurityToolbox.encrypt(password)).end();
}
}
@Override
public boolean equals(Object o) {
return o instanceof RemoteEnvConfig
&& AssistUtils.equals(((RemoteEnvConfig) o).host, host)
&& AssistUtils.equals(((RemoteEnvConfig) o).port, port)
&& AssistUtils.equals(((RemoteEnvConfig) o).username, username)
&& AssistUtils.equals(((RemoteEnvConfig) o).password, password);
}
@Override
public int hashCode() {
return AssistUtils.hashCode(host, port, username, password);
}
@Override
public Object clone() throws CloneNotSupportedException {
RemoteEnvConfig cloned = (RemoteEnvConfig) super.clone();
cloned.host = host;
cloned.port = port;
cloned.username = username;
cloned.password = password;
return cloned;
}
}

7
designer-base/src/com/fr/design/env/RemoteWorkspace.java vendored

@ -3,6 +3,7 @@ package com.fr.design.env;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.workspace.Workspace; import com.fr.workspace.Workspace;
import com.fr.workspace.connect.WorkspaceClient; import com.fr.workspace.connect.WorkspaceClient;
import com.fr.workspace.connect.WorkspaceConnection;
/** /**
* Created by juhaoyu on 2018/6/14. * Created by juhaoyu on 2018/6/14.
@ -16,11 +17,11 @@ public class RemoteWorkspace implements Workspace {
private final String userName; private final String userName;
public RemoteWorkspace(WorkspaceClient client, String address, String userName) { RemoteWorkspace(WorkspaceClient client, WorkspaceConnection connection) {
this.client = client; this.client = client;
this.address = address; this.address = connection.getIp() + ":" + connection.getPort();
this.userName = userName; this.userName = connection.getUserName();
} }
@Override @Override

2
designer-base/src/com/fr/design/mainframe/DesignerFrame.java

@ -650,7 +650,7 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
defaultTitleSB.append(" "); defaultTitleSB.append(" ");
// james:标识登录的用户和登录的ENV // james:标识登录的用户和登录的ENV
String envName = DesignerEnvManager.getEnvManager().getCurEnvName(); String envName = DesignerEnvManager.getEnvManager().getCurEnvName();
EnvConfig env = DesignerEnvManager.getEnvManager().getEnv(envName); EnvConfig env = DesignerEnvManager.getEnvManager().getWorkspaceInfo(envName);
if (env != null) { if (env != null) {
defaultTitleSB.append(env.getDescription(envName)); defaultTitleSB.append(env.getDescription(envName));
if (editingTemplate != null) { if (editingTemplate != null) {

3
designer-base/src/com/fr/design/mainframe/JTemplate.java

@ -55,6 +55,7 @@ import com.fr.stable.ProductConstants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.core.UUID; import com.fr.stable.core.UUID;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.workspace.WorkContext;
import javax.swing.*; import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
@ -657,7 +658,7 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
try { try {
ByteArrayOutputStream out = new ByteArrayOutputStream(); ByteArrayOutputStream out = new ByteArrayOutputStream();
this.getTarget().export(out); this.getTarget().export(out);
FRContext.getCurrentEnv().getFileOperator().write(out.toByteArray(), editingFILE.getPath()); WorkContext.getWorkResource().write(editingFILE.getPath(), out.toByteArray());
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), e.getMessage(), "Save Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), e.getMessage(), "Save Error", JOptionPane.ERROR_MESSAGE);

25
designer-base/src/com/fr/design/mainframe/TemplatePane.java

@ -1,14 +1,12 @@
package com.fr.design.mainframe; package com.fr.design.mainframe;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.env.EnvConfig;
import com.fr.base.env.LocalEnvConfig;
import com.fr.design.DesignModelAdapter; import com.fr.design.DesignModelAdapter;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.env.DesignerWorkspaceGenerator; import com.fr.design.env.DesignerWorkspaceGenerator;
import com.fr.design.env.RemoteEnvConfig; import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.file.TemplateTreePane; import com.fr.design.file.TemplateTreePane;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
@ -112,7 +110,7 @@ public class TemplatePane extends JPanel implements MouseListener {
private boolean envListOkAction(EnvListPane envListPane) { private boolean envListOkAction(EnvListPane envListPane) {
final String selectedName = envListPane.updateEnvManager(); final String selectedName = envListPane.updateEnvManager();
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
EnvConfig selectedEnv = envManager.getEnv(selectedName); DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(selectedName);
GeneralContext.fireEnvWillChangeListener(); GeneralContext.fireEnvWillChangeListener();
try { try {
WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() { WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() {
@ -143,7 +141,7 @@ public class TemplatePane extends JPanel implements MouseListener {
return true; return true;
} }
private String getDesignerVersion(EnvConfig selectedEnv) { private String getDesignerVersion(DesignerWorkspaceInfo selectedEnv) {
// return selectedEnv.getDesignerVersion(); // return selectedEnv.getDesignerVersion();
throw new UnsupportedOperationException("unsupport now"); throw new UnsupportedOperationException("unsupport now");
} }
@ -169,12 +167,17 @@ public class TemplatePane extends JPanel implements MouseListener {
} }
private void setJLabel(String name) { private void setJLabel(String name) {
EnvConfig config = DesignerEnvManager.getEnvManager().getEnv(name);
if (config instanceof LocalEnvConfig) { DesignerWorkspaceInfo config = DesignerEnvManager.getEnvManager().getWorkspaceInfo(name);
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/localconnect.png")); switch (config.getType()) {
case Remote: {
} else if (config instanceof RemoteEnvConfig) { envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/localconnect.png"));
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png")); break;
}
case Local: {
envLabel.setIcon(IOUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png"));
break;
}
} }
envLabel.setText(name); envLabel.setText(name);
envLabel.repaint(); envLabel.repaint();

34
designer-base/src/com/fr/design/mainframe/loghandler/socketio/DesignerSocketIO.java

@ -2,10 +2,6 @@ package com.fr.design.mainframe.loghandler.socketio;
import com.fr.base.Env; import com.fr.base.Env;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.env.EnvConfig;
import com.fr.core.env.EnvConstants;
import com.fr.core.env.EnvContext;
import com.fr.core.env.EnvEvent;
import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.decision.webservice.utils.DecisionServiceConstants;
import com.fr.design.env.RemoteEnvConfig; import com.fr.design.env.RemoteEnvConfig;
import com.fr.design.mainframe.loghandler.DesignerLogHandler; import com.fr.design.mainframe.loghandler.DesignerLogHandler;
@ -18,6 +14,8 @@ import com.fr.general.LogUtils;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.third.guava.base.Optional; import com.fr.third.guava.base.Optional;
import com.fr.web.WebSocketConfig; import com.fr.web.WebSocketConfig;
import com.fr.workspace.Workspace;
import com.fr.workspace.WorkspaceEvent;
import io.socket.client.IO; import io.socket.client.IO;
import io.socket.client.Socket; import io.socket.client.Socket;
import io.socket.emitter.Emitter; import io.socket.emitter.Emitter;
@ -44,18 +42,18 @@ public class DesignerSocketIO {
}; };
static { static {
EventDispatcher.listen(EnvEvent.AFTER_SIGN_OUT, new Listener<EnvConfig>() { EventDispatcher.listen(WorkspaceEvent.BeforeSwitch, new Listener<Workspace>() {
@Override @Override
public void on(Event event, EnvConfig param) { public void on(Event event, Workspace param) {
if (socketIO.isPresent()) { if (socketIO.isPresent()) {
socketIO.get().close(); socketIO.get().close();
socketIO = Optional.absent(); socketIO = Optional.absent();
} }
} }
}); });
EventDispatcher.listen(EnvEvent.AFTER_SIGN_IN, new Listener<EnvConfig>() { EventDispatcher.listen(WorkspaceEvent.AfterSwitch, new Listener<Workspace>() {
@Override @Override
public void on(Event event, EnvConfig param) { public void on(Event event, Workspace param) {
updateSocket(); updateSocket();
} }
}); });
@ -71,16 +69,16 @@ public class DesignerSocketIO {
return; return;
} }
try { try {
RemoteEnvConfig config = ((RemoteEnv)env).getEnvConfig(); // RemoteEnvConfig config = ((RemoteEnv)env).getEnvConfig();
String uri = String.format("http://%s:%s%s?%s=%s", // String uri = String.format("http://%s:%s%s?%s=%s",
config.getHost(), // config.getHost(),
WebSocketConfig.getInstance().getPort(), // WebSocketConfig.getInstance().getPort(),
EnvConstants.WS_NAMESPACE, // EnvConstants.WS_NAMESPACE,
DecisionServiceConstants.WEB_SOCKET_TOKEN_NAME, // DecisionServiceConstants.WEB_SOCKET_TOKEN_NAME,
EnvContext.currentToken()); // EnvContext.currentToken());
//
socketIO = Optional.of(IO.socket(new URI(uri))); // socketIO = Optional.of(IO.socket(new URI(uri)));
socketIO.get().on(EnvConstants.WS_LOGRECORD, printLog); // socketIO.get().on(EnvConstants.WS_LOGRECORD, printLog);
// socketIO.get().on(EnvConstants.CONFIG, new Emitter.Listener() { // socketIO.get().on(EnvConstants.CONFIG, new Emitter.Listener() {
// @Override // @Override
// public void call(Object... objects) { // public void call(Object... objects) {

7
designer-base/src/com/fr/design/mainframe/templateinfo/TemplateInfoCollector.java

@ -7,14 +7,13 @@ import com.fr.design.DesignerEnvManager;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
import com.fr.design.mainframe.SiteCenterToken; import com.fr.design.mainframe.SiteCenterToken;
import com.fr.env.RemoteEnv;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.general.GeneralUtils; import com.fr.general.GeneralUtils;
import com.fr.general.IOUtils; import com.fr.general.IOUtils;
import com.fr.general.SiteCenter; import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient; import com.fr.general.http.HttpClient;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.EncodeConstants; import com.fr.stable.EncodeConstants;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
@ -25,6 +24,7 @@ import com.fr.stable.xml.XMLTools;
import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLWriter;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
import com.fr.third.javax.xml.stream.XMLStreamException; import com.fr.third.javax.xml.stream.XMLStreamException;
import com.fr.workspace.WorkContext;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
@ -167,7 +167,8 @@ public class TemplateInfoCollector<T extends BaseBook> implements Serializable,
} }
private boolean shouldCollectInfo() { private boolean shouldCollectInfo() {
if (FRContext.getCurrentEnv() instanceof RemoteEnv) { // 远程设计不收集数据 //只收集本地环境的
if (!WorkContext.getCurrent().isLocal()) {
return false; return false;
} }
return DesignerEnvManager.getEnvManager().isJoinProductImprove() && FRContext.isChineseEnv(); return DesignerEnvManager.getEnvManager().isJoinProductImprove() && FRContext.isChineseEnv();

70
designer-base/src/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java

@ -1,17 +1,11 @@
package com.fr.design.remote.action; package com.fr.design.remote.action;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.FRContext;
import com.fr.core.env.proxy.EnvProxy;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.remote.ui.AuthorityManagerPane; import com.fr.design.remote.ui.AuthorityManagerPane;
import com.fr.env.operator.authority.AuthorityOperator;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.log.FineLoggerFactory;
import com.fr.report.DesignAuthority;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@ -34,38 +28,38 @@ public class RemoteDesignAuthorityManagerAction extends UpdateAction {
BasicDialog dialog = managerPane.showWindow(DesignerContext.getDesignerFrame()); BasicDialog dialog = managerPane.showWindow(DesignerContext.getDesignerFrame());
if (!FRContext.getCurrentEnv().isLocalEnv()) { // if (!FRContext.getCurrentEnv().isLocalEnv()) {
try { // try {
// 远程设计获取全部设计成员的权限列表 // // 远程设计获取全部设计成员的权限列表
DesignAuthority[] authorities = EnvProxy.get(AuthorityOperator.class).getAuthorities(); // DesignAuthority[] authorities = EnvProxy.get(AuthorityOperator.class).getAuthorities();
if (authorities != null && authorities.length != 0) { // if (authorities != null && authorities.length != 0) {
managerPane.populate(authorities); // managerPane.populate(authorities);
} // }
} catch (Exception exception) { // } catch (Exception exception) {
FineLoggerFactory.getLogger().error(exception.getMessage(), exception); // FineLoggerFactory.getLogger().error(exception.getMessage(), exception);
} // }
} // }
//
dialog.addDialogActionListener(new DialogActionAdapter() { // dialog.addDialogActionListener(new DialogActionAdapter() {
@Override // @Override
public void doOk() { // public void doOk() {
DesignAuthority[] authorities = managerPane.update(); // DesignAuthority[] authorities = managerPane.update();
if (!FRContext.getCurrentEnv().isLocalEnv()) { // if (!FRContext.getCurrentEnv().isLocalEnv()) {
boolean success = false; // boolean success = false;
try { // try {
success = EnvProxy.get(AuthorityOperator.class).updateAuthorities(authorities); // success = EnvProxy.get(AuthorityOperator.class).updateAuthorities(authorities);
} catch (Exception e) { // } catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e); // FineLoggerFactory.getLogger().error(e.getMessage(), e);
} // }
FRContext.getLogger().info("update remote design authority: " + success); // FRContext.getLogger().info("update remote design authority: " + success);
} // }
} // }
//
@Override // @Override
public void doCancel() { // public void doCancel() {
super.doCancel(); // super.doCancel();
} // }
}); // });
dialog.setModal(true); dialog.setModal(true);
dialog.setVisible(true); dialog.setVisible(true);
} }

1
designer-base/src/com/fr/design/utils/DesignUtils.java

@ -13,7 +13,6 @@ import com.fr.design.ExtraDesignClassManager;
import com.fr.design.fun.DesignerEnvProcessor; import com.fr.design.fun.DesignerEnvProcessor;
import com.fr.design.gui.UILookAndFeel; import com.fr.design.gui.UILookAndFeel;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.env.RemoteEnv;
import com.fr.file.FileFILE; import com.fr.file.FileFILE;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.FRFont; import com.fr.general.FRFont;

12
designer-base/src/com/fr/env/EnvListPane.java vendored

@ -1,9 +1,7 @@
package com.fr.env; package com.fr.env;
import com.fr.base.env.EnvConfig;
import com.fr.base.env.LocalEnvConfig;
import com.fr.design.env.RemoteEnvConfig;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.design.gui.controlpane.JListControlPane; import com.fr.design.gui.controlpane.JListControlPane;
import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameObjectCreator;
import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.controlpane.NameableCreator;
@ -59,9 +57,9 @@ public class EnvListPane extends JListControlPane {
@Override @Override
public NameableCreator[] createNameableCreators() { public NameableCreator[] createNameableCreators() {
NameableCreator local = new NameObjectCreator(Inter.getLocText("Env-Local_Directory"), "com/fr/design/images/data/bind/localconnect.png", NameableCreator local = new NameObjectCreator(Inter.getLocText("Env-Local_Directory"), "com/fr/design/images/data/bind/localconnect.png",
LocalEnvConfig.class, LocalEnvPane.class); DesignerWorkspaceInfo.class, LocalEnvPane.class);
NameableCreator remote = new NameObjectCreator(Inter.getLocText("Env-Remote_Server"), "com/fr/design/images/data/bind/distanceconnect.png", NameableCreator remote = new NameObjectCreator(Inter.getLocText("Env-Remote_Server"), "com/fr/design/images/data/bind/distanceconnect.png",
RemoteEnvConfig.class, RemoteEnvPane2.class); DesignerWorkspaceInfo.class, RemoteEnvPane2.class);
return new NameableCreator[]{local, remote}; return new NameableCreator[]{local, remote};
} }
@ -81,7 +79,7 @@ public class EnvListPane extends JListControlPane {
List<NameObject> nameObjectList = new ArrayList<>(); List<NameObject> nameObjectList = new ArrayList<>();
while (nameIt.hasNext()) { while (nameIt.hasNext()) {
String name = nameIt.next(); String name = nameIt.next();
nameObjectList.add(new NameObject(name, mgr.getEnv(name))); nameObjectList.add(new NameObject(name, mgr.getWorkspaceInfo(name)));
} }
this.populate(nameObjectList.toArray(new NameObject[0])); this.populate(nameObjectList.toArray(new NameObject[0]));
@ -104,7 +102,7 @@ public class EnvListPane extends JListControlPane {
Nameable[] res = this.update(); Nameable[] res = this.update();
for (Nameable re : res) { for (Nameable re : res) {
NameObject nameObject = (NameObject) re; NameObject nameObject = (NameObject) re;
mgr.putEnv(nameObject.getName(), (EnvConfig) nameObject.getObject()); mgr.putEnv(nameObject.getName(), (DesignerWorkspaceInfo) nameObject.getObject());
} }
return this.getSelectedName(); return this.getSelectedName();
} }

10
designer-base/src/com/fr/env/LocalEnvPane.java vendored

@ -1,7 +1,7 @@
package com.fr.env; package com.fr.env;
import com.fr.base.env.LocalEnvConfig;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
@ -21,7 +21,7 @@ import java.io.File;
/** /**
* @author yaohwu * @author yaohwu
*/ */
public class LocalEnvPane extends BasicBeanPane<LocalEnvConfig> { public class LocalEnvPane extends BasicBeanPane<DesignerWorkspaceInfo> {
private UITextField pathTextField; private UITextField pathTextField;
private JFileTree localEnvTree; private JFileTree localEnvTree;
@ -70,9 +70,9 @@ public class LocalEnvPane extends BasicBeanPane<LocalEnvConfig> {
} }
@Override @Override
public LocalEnvConfig updateBean() { public DesignerWorkspaceInfo updateBean() {
String path = pathTextField.getText(); String path = pathTextField.getText();
return new LocalEnvConfig(path); return DesignerWorkspaceInfo.createLocal(StringUtils.EMPTY, path);
} }
public String getPath() { public String getPath() {
@ -80,7 +80,7 @@ public class LocalEnvPane extends BasicBeanPane<LocalEnvConfig> {
} }
@Override @Override
public void populateBean(LocalEnvConfig ob) { public void populateBean(DesignerWorkspaceInfo ob) {
if (StringUtils.isBlank(ob.getPath())) { if (StringUtils.isBlank(ob.getPath())) {
return; return;
} }

1521
designer-base/src/com/fr/env/RemoteEnv.java vendored

File diff suppressed because it is too large Load Diff

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

@ -1,11 +1,11 @@
package com.fr.env; package com.fr.env;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.design.env.RemoteEnvConfig;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.BasicBeanPane;
import com.fr.design.border.UITitledBorder; import com.fr.design.border.UITitledBorder;
import com.fr.design.dialog.InformationWarnPane; import com.fr.design.dialog.InformationWarnPane;
import com.fr.design.env.DesignerWorkspaceInfo;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -19,24 +19,11 @@ import com.fr.general.Inter;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.BorderFactory; import javax.swing.*;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import java.awt.BorderLayout; import java.awt.*;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
@ -50,7 +37,7 @@ import static com.fr.design.layout.TableLayout.PREFERRED;
/** /**
* @author yaohwu * @author yaohwu
*/ */
public class RemoteEnvPane extends BasicBeanPane<RemoteEnvConfig> { public class RemoteEnvPane extends BasicBeanPane<DesignerWorkspaceInfo> {
private static final Color TIPS_FONT_COLOR = new Color(0x8f8f92); private static final Color TIPS_FONT_COLOR = new Color(0x8f8f92);
@ -252,7 +239,7 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteEnvConfig> {
} }
@Override @Override
public void populateBean(RemoteEnvConfig ob) { public void populateBean(DesignerWorkspaceInfo ob) {
if (StringUtils.isEmpty(ob.getPath())) { if (StringUtils.isEmpty(ob.getPath())) {
remoteEnvURL = RemoteEnvURL.createDefaultURL(); remoteEnvURL = RemoteEnvURL.createDefaultURL();
@ -266,21 +253,21 @@ public class RemoteEnvPane extends BasicBeanPane<RemoteEnvConfig> {
DesignerEnvManager.getEnvManager().setHttps(remoteEnvURL.getHttps()); DesignerEnvManager.getEnvManager().setHttps(remoteEnvURL.getHttps());
fileChooserButton.setEnabled(remoteEnvURL.getHttps()); fileChooserButton.setEnabled(remoteEnvURL.getHttps());
updateHttpsConfigPanel(); updateHttpsConfigPanel();
String username = EnvConfigUtils.getUsername(ob); String username = ob.getConnection().getUserName();
String pwd = EnvConfigUtils.getPassword(ob); String pwd = ob.getConnection().getPassword();
this.usernameInput.setText(username == null ? StringUtils.EMPTY : pwd); this.usernameInput.setText(username == null ? StringUtils.EMPTY : pwd);
this.passwordInput.setText(ob.getPassword() == null ? StringUtils.EMPTY : ob.getPassword()); this.passwordInput.setText(pwd == null ? StringUtils.EMPTY : "******");
} }
@Override @Override
public RemoteEnvConfig updateBean() { public DesignerWorkspaceInfo updateBean() {
String path = remoteEnvURL.getURL(); String path = remoteEnvURL.getURL();
String user = this.usernameInput.getText(); String user = this.usernameInput.getText();
String password = new String(this.passwordInput.getPassword()); String password = new String(this.passwordInput.getPassword());
// return DesignerWorkspaceInfo.createRemote();
return null; return null;
//return new RemoteEnvConfig(path, user, password); //return new RemoteEnvConfig(path, user, password);
} }

2
designer-base/src/com/fr/file/FileNodeFILE.java

@ -240,7 +240,7 @@ public class FileNodeFILE implements FILE {
} }
try { try {
return FRContext.getCurrentEnv().getFileOperator().isExists(node.getEnvPath()); return WorkContext.getWorkResource().exist(node.getEnvPath());
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
return false; return false;

11
designer-chart/src/com/fr/design/chart/series/PlotSeries/MapGroupExtensionPane.java

@ -22,12 +22,13 @@ import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DesignerFrame; import com.fr.design.mainframe.DesignerFrame;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.CoreConstants; import com.fr.stable.CoreConstants;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.SvgProvider; import com.fr.stable.SvgProvider;
import com.fr.workspace.WorkContext;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionEvent;
@ -340,12 +341,12 @@ public class MapGroupExtensionPane extends BasicPane implements UIObserver {
return; return;
} }
try{//提醒名字已存在 try{//提醒名字已存在
if(FRContext.getCurrentEnv().getFileOperator().isExists(StableUtils.pathJoin( if (WorkContext.getWorkResource().exist(StableUtils.pathJoin(
MapSvgXMLHelper.relativeDefaultMapPath(),newName+SvgProvider.EXTENSION))){ MapSvgXMLHelper.relativeDefaultMapPath(),newName+SvgProvider.EXTENSION))){
showRenameWaring(newName); showRenameWaring(newName);
return; return;
} }
if(FRContext.getCurrentEnv().getFileOperator().isExists(StableUtils.pathJoin( if (WorkContext.getWorkResource().exist(StableUtils.pathJoin(
MapSvgXMLHelper.relativeCustomMapPath(), newName + SvgProvider.EXTENSION))){ MapSvgXMLHelper.relativeCustomMapPath(), newName + SvgProvider.EXTENSION))){
showRenameWaring(newName); showRenameWaring(newName);
return; return;
@ -361,9 +362,9 @@ public class MapGroupExtensionPane extends BasicPane implements UIObserver {
groupExtensionPane.setValueAtCurrentSelectIndex(newName); groupExtensionPane.setValueAtCurrentSelectIndex(newName);
fireStateChange(); fireStateChange();
saveMapInfo(newName); saveMapInfo(newName);
FRContext.getCurrentEnv().getFileOperator().delete( WorkContext.getWorkResource().delete(
StableUtils.pathJoin(MapSvgXMLHelper.relativeDefaultMapPath(),oldName+SvgProvider.EXTENSION)); StableUtils.pathJoin(MapSvgXMLHelper.relativeDefaultMapPath(),oldName+SvgProvider.EXTENSION));
FRContext.getCurrentEnv().getFileOperator().delete( WorkContext.getWorkResource().delete(
StableUtils.pathJoin(MapSvgXMLHelper.relativeCustomMapPath(),oldName+SvgProvider.EXTENSION)); StableUtils.pathJoin(MapSvgXMLHelper.relativeCustomMapPath(),oldName+SvgProvider.EXTENSION));
refresh(); refresh();
}catch (Exception exp){ }catch (Exception exp){

3
designer-realize/src/com/fr/design/mainframe/alphafine/search/manager/impl/FileSearchManager.java

@ -18,6 +18,7 @@ import com.fr.log.FineLoggerFactory;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.workspace.WorkContext;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
@ -151,7 +152,7 @@ public class FileSearchManager implements AlphaFineSearchProvider {
*/ */
private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) { private void searchFileContent(Env env, String searchText, FileNode node, boolean isAlreadyContain, boolean needMore) {
try { try {
InputStream inputStream = new ByteArrayInputStream(env.getFileOperator().read(StableUtils.pathJoin(ProjectConstants.REPORTLETS_NAME, node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1)))); InputStream inputStream = new ByteArrayInputStream(WorkContext.getWorkResource().readFully(StableUtils.pathJoin(ProjectConstants.REPORTLETS_NAME, node.getEnvPath().substring(ProjectConstants.REPORTLETS_NAME.length() + 1))));
InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8"); InputStreamReader isr = new InputStreamReader(inputStream, "UTF-8");
BufferedReader reader = new BufferedReader(isr); BufferedReader reader = new BufferedReader(isr);
String line; String line;

4
designer-realize/src/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java

@ -1,6 +1,5 @@
package com.fr.design.mainframe.errorinfo; package com.fr.design.mainframe.errorinfo;
import com.fr.base.FRContext;
import com.fr.base.io.IOFile; import com.fr.base.io.IOFile;
import com.fr.base.io.XMLReadHelper; import com.fr.base.io.XMLReadHelper;
import com.fr.config.MarketConfig; import com.fr.config.MarketConfig;
@ -18,6 +17,7 @@ import com.fr.third.apache.log4j.Level;
import com.fr.third.apache.log4j.spi.LoggingEvent; import com.fr.third.apache.log4j.spi.LoggingEvent;
import com.fr.web.core.SessionDealWith; import com.fr.web.core.SessionDealWith;
import com.fr.web.core.SessionIDInfor; import com.fr.web.core.SessionIDInfor;
import com.fr.workspace.WorkContext;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.InputStream; import java.io.InputStream;
@ -134,7 +134,7 @@ public class ErrorInfoLogAppender extends AppenderSkeleton {
} }
}; };
try { try {
file.readStream(new ByteArrayInputStream(FRContext.getCurrentEnv().getFileOperator().read(StableUtils.pathJoin(ProjectConstants.REPORTLETS_NAME, bookPath)))); file.readStream(new ByteArrayInputStream(WorkContext.getWorkResource().readFully(StableUtils.pathJoin(ProjectConstants.REPORTLETS_NAME, bookPath))));
return file.getTemplateID(); return file.getTemplateID();
} catch (Exception ignore) { } catch (Exception ignore) {
} }

2
designer-realize/src/com/fr/start/EnvSwitcher.java

@ -16,7 +16,7 @@ public class EnvSwitcher {
try { try {
String current = DesignerEnvManager.getEnvManager().getCurEnvName(); String current = DesignerEnvManager.getEnvManager().getCurEnvName();
Workspace workspace = DesignerWorkspaceGenerator.generate(DesignerEnvManager.getEnvManager().getEnv(current)); Workspace workspace = DesignerWorkspaceGenerator.generate(DesignerEnvManager.getEnvManager().getWorkspaceInfo(current));
WorkContext.switchTo(workspace); WorkContext.switchTo(workspace);
} catch (Exception e) { } catch (Exception e) {
TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner(); TemplatePane.getInstance().dealEvnExceptionWhenStartDesigner();

Loading…
Cancel
Save