From 81bfabb4a07e650ec4875c6f509e81bc2653c62b Mon Sep 17 00:00:00 2001 From: "abel.chen" Date: Thu, 12 Jul 2018 19:50:29 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E6=9C=8D=E5=8A=A1=E7=AB=AF=E9=85=8D=E7=BD=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/socketio/DesignerSocketIO.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index a44bdf8b2..5fb7262c1 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -1,8 +1,12 @@ package com.fr.design.mainframe.socketio; +import com.fr.config.ConfigEvent; +import com.fr.config.Configuration; +import com.fr.config.RemoteEvent; import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.design.mainframe.loghandler.DesignerLogHandler; import com.fr.env.operator.socket.SocketInfoOperator; +import com.fr.event.EventDispatcher; import com.fr.general.LogRecordTime; import com.fr.general.LogUtils; import com.fr.log.FineLoggerFactory; @@ -54,6 +58,14 @@ public class DesignerSocketIO { String uri = getSocketUri(current); socketIO = Optional.of(IO.socket(new URI(uri))); socketIO.get().on(WorkspaceConstants.WS_LOGRECORD, printLog); + socketIO.get().on(WorkspaceConstants.CONFIG_MODIFY, new Emitter.Listener() { + @Override + public void call(Object... objects) { + assert objects != null && objects.length == 1; + String param = (String) objects[0]; + EventDispatcher.fire(RemoteEvent.EDIT, param); + } + }); socketIO.get().connect(); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); From af233af5906977e96c519d0b570d48ec91cdbb79 Mon Sep 17 00:00:00 2001 From: "abel.chen" Date: Thu, 12 Jul 2018 19:53:18 +0800 Subject: [PATCH 02/13] fix --- .../java/com/fr/design/mainframe/socketio/DesignerSocketIO.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index 5fb7262c1..d0b9a7043 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -1,7 +1,5 @@ package com.fr.design.mainframe.socketio; -import com.fr.config.ConfigEvent; -import com.fr.config.Configuration; import com.fr.config.RemoteEvent; import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.design.mainframe.loghandler.DesignerLogHandler; From 9cf1cfdfeafcd5d850a1c2a2289772d16ca427fd Mon Sep 17 00:00:00 2001 From: ju Date: Fri, 13 Jul 2018 16:06:22 +0800 Subject: [PATCH 03/13] =?UTF-8?q?REPORT-9524=20=E8=BF=9C=E7=A8=8B=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=9C=8D=E5=8A=A1=E7=AB=AF=E6=95=B4=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/env/RemoteWorkspace.java | 2 +- .../remote/action/RemoteDesignAuthorityManagerAction.java | 2 +- .../com/fr/design/remote/ui/AuthorityListControlPane.java | 2 +- .../main/java/com/fr/design/remote/ui/UserManagerPane.java | 4 ++-- .../java/com/fr/design/remote/ui/list/AddedMemberList.java | 2 +- .../fr/design/remote/ui/list/AddedMemberListCellRender.java | 2 +- .../java/com/fr/design/remote/ui/list/AddingMemberList.java | 2 +- .../fr/design/remote/ui/list/AddingMemberListCellRender.java | 2 +- .../main/java/com/fr/design/remote/ui/list/MemberList.java | 2 +- .../com/fr/design/mainframe/socketio/DesignerSocketIO.java | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java b/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java index a2b8bd94f..c3d2e91c2 100644 --- a/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java +++ b/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java @@ -1,6 +1,6 @@ package com.fr.design.env; -import com.fr.env.operator.decision.DecisionOperator; +import com.fr.workspace.server.authority.decision.DecisionOperator; import com.fr.locale.InterProviderFactory; import com.fr.workspace.WorkContext; import com.fr.workspace.Workspace; diff --git a/designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java b/designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java index e8cb2a207..c6fea8618 100644 --- a/designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java +++ b/designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthorityManagerAction.java @@ -6,7 +6,7 @@ import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.mainframe.DesignerContext; import com.fr.design.remote.ui.AuthorityManagerPane; -import com.fr.env.operator.authority.AuthorityOperator; +import com.fr.workspace.server.authority.AuthorityOperator; import com.fr.general.Inter; import com.fr.log.FineLoggerFactory; import com.fr.report.DesignAuthority; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListControlPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListControlPane.java index 03e6d4457..23bf0f150 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListControlPane.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/AuthorityListControlPane.java @@ -18,7 +18,7 @@ import com.fr.design.remote.RemoteDesignAuthorityCreator; import com.fr.design.remote.ui.list.AuthorityList; import com.fr.design.remote.ui.list.AuthorityListCellRenderer; import com.fr.design.utils.gui.GUICoreUtils; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.log.FineLoggerFactory; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java b/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java index 781f1cfca..816fabb47 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/UserManagerPane.java @@ -13,8 +13,8 @@ import com.fr.design.remote.ui.list.AddedMemberListCellRender; import com.fr.design.remote.ui.list.AddingMemberList; import com.fr.design.remote.ui.list.AddingMemberListCellRender; import com.fr.design.remote.ui.list.MemberListSelectedChangeListener; -import com.fr.env.RemoteDesignMember; -import com.fr.env.operator.decision.DecisionOperator; +import com.fr.workspace.server.authority.RemoteDesignMember; +import com.fr.workspace.server.authority.decision.DecisionOperator; import com.fr.general.Inter; import com.fr.stable.StringUtils; import com.fr.third.guava.collect.ImmutableList; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberList.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberList.java index a2631d66f..423533a78 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberList.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberList.java @@ -1,6 +1,6 @@ package com.fr.design.remote.ui.list; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import javax.swing.DefaultListModel; import java.awt.Point; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java index 39dd08fb0..64a5a6332 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddedMemberListCellRender.java @@ -3,7 +3,7 @@ package com.fr.design.remote.ui.list; import com.fr.base.BaseUtils; import com.fr.design.gui.ilable.UILabel; import com.fr.design.remote.button.IconButton; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import javax.swing.BorderFactory; import javax.swing.JList; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberList.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberList.java index 136d77cc1..d1b906d23 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberList.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberList.java @@ -1,6 +1,6 @@ package com.fr.design.remote.ui.list; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import javax.swing.DefaultListModel; import java.awt.Point; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java index 0668d67f1..94749d531 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/AddingMemberListCellRender.java @@ -3,7 +3,7 @@ package com.fr.design.remote.ui.list; import com.fr.base.BaseUtils; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import javax.swing.BorderFactory; import javax.swing.JList; diff --git a/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java b/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java index 9476c1593..60e44af99 100644 --- a/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java +++ b/designer-base/src/main/java/com/fr/design/remote/ui/list/MemberList.java @@ -1,7 +1,7 @@ package com.fr.design.remote.ui.list; -import com.fr.env.RemoteDesignMember; +import com.fr.workspace.server.authority.RemoteDesignMember; import javax.swing.DefaultListModel; import javax.swing.JList; diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index 8908fb982..abc3e513e 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -3,7 +3,7 @@ package com.fr.design.mainframe.socketio; import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.loghandler.DesignerLogHandler; -import com.fr.env.operator.socket.SocketInfoOperator; +import com.fr.workspace.server.socket.SocketInfoOperator; import com.fr.general.Inter; import com.fr.general.LogRecordTime; import com.fr.general.LogUtils; From 35db49e2d24e3e4a38010b5278e1e5b3b39bd517 Mon Sep 17 00:00:00 2001 From: rinoux Date: Fri, 13 Jul 2018 16:09:50 +0800 Subject: [PATCH 04/13] =?UTF-8?q?REPORT-9668&REPORT-9656=20=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E7=8E=AF=E5=A2=83=E6=81=A2=E5=A4=8D=E6=9C=80=E8=BF=91?= =?UTF-8?q?=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/DesignerEnvManager.java | 99 ++++++++++++------- .../com/fr/design/mainframe/JTemplate.java | 5 +- .../main/java/com/fr/file/FILEFactory.java | 4 +- 3 files changed, 69 insertions(+), 39 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java index bd6ffec8d..2e6ff3701 100644 --- a/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java +++ b/designer-base/src/main/java/com/fr/design/DesignerEnvManager.java @@ -52,6 +52,7 @@ import java.io.StringReader; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -75,7 +76,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { private Rectangle windowBounds = null; // window bounds. private String DialogCurrentDirectory = null; private String CurrentDirectoryPrefix = null; - private List recentOpenedFilePathList = new ArrayList(); + private Map> recentOpenedFileListMap = new HashMap<>(); + private List tempRecentOpenedFilePathList = new ArrayList(); private boolean showPaintToolBar = true; private int maxNumberOrPreviewRow = 200; // name和Env的键值对 @@ -193,7 +195,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { return designerEnvManager; } - public ColorSelectConfigManager getColorConfigManager(){ + public ColorSelectConfigManager getColorConfigManager() { return this.configManager; } @@ -201,7 +203,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { if (designerEnvManager == null || designerEnvManager.nameEnvMap.size() > 0) { return; } - String installHome = StableUtils.getInstallHome(); + String installHome = StableUtils.getInstallHome(); if (installHome != null && !".".equals(installHome)) { String name = Inter.getLocText("FR-Engine_DEFAULT"); String envPath = designerEnvManager.getDefaultenvPath(installHome); @@ -339,7 +341,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } // 清空前一个版本中的工作目录和最近打开 nameEnvMap = new ListMap(); - recentOpenedFilePathList = new ArrayList(); curEnvName = null; designerEnvManager.saveXMLFile(); } @@ -533,10 +534,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } - private String getDefaultenvPath(String installHome){ + private String getDefaultenvPath(String installHome) { //这里需要转成反斜杠和生成默认路径一致 - return new File(StableUtils.pathJoin(installHome, WEB_NAME, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME)).getPath(); + return new File(StableUtils.pathJoin(installHome, WEB_NAME, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME)).getPath(); } + /** * 设置当前环境为默认 */ @@ -825,7 +827,17 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { * 返回最近打开的文件路径列表 */ public List getRecentOpenedFilePathList() { - return this.recentOpenedFilePathList; + + if (StringUtils.isEmpty(getCurEnvName())) { + return tempRecentOpenedFilePathList; + } else { + if (!recentOpenedFileListMap.containsKey(getCurEnvName())) { + recentOpenedFileListMap.put(getCurEnvName(), tempRecentOpenedFilePathList); + } + } + + + return recentOpenedFileListMap.get(getCurEnvName()); } /** @@ -835,11 +847,11 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { */ public void addRecentOpenedFilePath(String filePath) { // 先删除. - if (this.recentOpenedFilePathList.contains(filePath)) { - this.recentOpenedFilePathList.remove(filePath); + if (getRecentOpenedFilePathList().contains(filePath)) { + getRecentOpenedFilePathList().remove(filePath); } - this.recentOpenedFilePathList.add(0, filePath); + getRecentOpenedFilePathList().add(0, filePath); checkRecentOpenedFileNum(); } @@ -850,19 +862,21 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { * @param newPath 新的路径 */ public void replaceRecentOpenedFilePath(String oldPath, String newPath) { - if (this.recentOpenedFilePathList.contains(oldPath)) { - int index = recentOpenedFilePathList.indexOf(oldPath); - this.recentOpenedFilePathList.remove(oldPath); - this.recentOpenedFilePathList.add(index, newPath); + List list = getRecentOpenedFilePathList(); + if (list.contains(oldPath)) { + int index = getRecentOpenedFilePathList().indexOf(oldPath); + list.remove(oldPath); + list.add(index, newPath); } } private void checkRecentOpenedFileNum() { - if (this.recentOpenedFilePathList == null) { + List list = getRecentOpenedFilePathList(); + if (list == null) { return; } - while (this.recentOpenedFilePathList.size() > MAX_SHOW_NUM) { - this.recentOpenedFilePathList.remove(this.recentOpenedFilePathList.size() - 1); + while (list.size() > MAX_SHOW_NUM) { + list.remove(list.size() - 1); } } @@ -872,8 +886,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { * @param filePath 文件路径 */ public void removeRecentOpenedFilePath(String filePath) { - if (this.recentOpenedFilePathList.contains(filePath)) { - this.recentOpenedFilePathList.remove(filePath); + if (getRecentOpenedFilePathList().contains(filePath)) { + getRecentOpenedFilePathList().remove(filePath); } } @@ -1311,7 +1325,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { } } - private void readRecentColor(XMLableReader reader){ + private void readRecentColor(XMLableReader reader) { reader.readXMLObject(this.configManager); } @@ -1332,7 +1346,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { this.readAttributes(reader); } else if (name.equals("ReportPaneAttributions")) { this.readReportPaneAttributions(reader); - } else if ("RecentOpenedFilePathList".equals(name) || "ResentOpenedFilePathList".equals(name)) { + } else if ("RecentOpenedFilePath".equals(name)) { this.readRecentOpenFileList(reader); } else if ("EnvConfigMap".equals(name)) { this.readEnvConfigMap(reader); @@ -1368,8 +1382,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { readAlphaFineAttr(reader); } else if (name.equals("RecentColors")) { readRecentColor(reader); - } - else { + } else { readLayout(reader, name); } } @@ -1518,21 +1531,32 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { private void readRecentOpenFileList(XMLableReader reader) { reader.readXMLObject(new XMLReadable() { - @Override public void readXML(XMLableReader reader) { if (reader.isAttr()) { - DesignerEnvManager.this.recentOpenedFilePathList.clear(); + DesignerEnvManager.this.recentOpenedFileListMap.clear(); } if (reader.isChildNode()) { - String tmpVal; String name = reader.getTagName(); - // alex:以前一直是写ResentOpenedFilePath - if ("ResentOpenedFilePath".equals(name) || "Path".equals(name)) { // description. - if ((tmpVal = reader.getElementValue()) != null) { - DesignerEnvManager.this.recentOpenedFilePathList.add(tmpVal); - } + if ("Env".equals(name)) { + final String envName = reader.getAttrAsString("name", StringUtils.EMPTY); + final List recentOpenedFileList = new ArrayList<>(); + reader.readXMLObject(new XMLReadable() { + @Override + public void readXML(XMLableReader reader) { + if (reader.isChildNode()) { + String n = reader.getTagName(); + if ("Path".equals(n)) { + String path = reader.getElementValue(); + if (StringUtils.isNotEmpty(path)) { + recentOpenedFileList.add(path); + } + } + } + } + }); + DesignerEnvManager.this.recentOpenedFileListMap.put(envName, recentOpenedFileList); } } } @@ -1623,10 +1647,15 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { private void writeRecentOpenFileAndEnvList(XMLPrintWriter writer) { checkRecentOpenedFileNum(); - writer.startTAG("RecentOpenedFilePathList"); - int resentOpenedFilePathCount = Math.min(12, this.recentOpenedFilePathList.size()); - for (int i = 0; i < resentOpenedFilePathCount; i++) { - writer.startTAG("Path").textNode(recentOpenedFilePathList.get(i)).end(); + writer.startTAG("RecentOpenedFilePath"); + for (Entry> entry : recentOpenedFileListMap.entrySet()) { + writer.startTAG("Env").attr("name", entry.getKey()); + List paths = entry.getValue(); + int count = Math.min(12, paths.size()); + for (int i = 0; i < count; i++) { + writer.startTAG("Path").textNode(paths.get(i)).end(); + } + writer.end(); } writer.end(); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 804ea550b..6733feedf 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -203,7 +203,7 @@ public abstract class JTemplate> } public String getFullPathName() { - String editingFileName = getEditingFILE().getPath(); + /*String editingFileName = getEditingFILE().getPath(); if (editingFileName.startsWith(ProjectConstants.REPORTLETS_NAME)) { editingFileName = ((FileNodeFILE) getEditingFILE()).getEnvPath() + File.separator + editingFileName; } @@ -211,7 +211,8 @@ public abstract class JTemplate> return editingFileName.replaceAll("/", "\\\\"); } else { return editingFileName.replaceAll("\\\\", "/"); - } + }*/ + return getEditingFILE().getPath(); } protected abstract JComponent createCenterPane(); diff --git a/designer-base/src/main/java/com/fr/file/FILEFactory.java b/designer-base/src/main/java/com/fr/file/FILEFactory.java index 634759b23..f5d690b21 100644 --- a/designer-base/src/main/java/com/fr/file/FILEFactory.java +++ b/designer-base/src/main/java/com/fr/file/FILEFactory.java @@ -35,7 +35,7 @@ public class FILEFactory { } else if (path.startsWith(FILE_PREFIX)) { return new FileFILE(new java.io.File(path.substring(FILE_PREFIX.length()))); } else { - return new FileFILE(new java.io.File(path)); + return new FileNodeFILE(new FileNode(path, WorkContext.getWorkResource().isDirectory(path))); } } @@ -52,7 +52,7 @@ public class FILEFactory { } else if (path.startsWith(FILE_PREFIX)) { return new FileFILE(new java.io.File(path.substring(FILE_PREFIX.length()))); } else { - return new FileFILE(new java.io.File(path)); + return new FileNodeFILE(new FileNode(path, WorkContext.getWorkResource().isDirectory(path))); } } } \ No newline at end of file From 8daa87f8dd441add00640f60e71f015752e79a6b Mon Sep 17 00:00:00 2001 From: "abel.chen" Date: Fri, 13 Jul 2018 16:20:56 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=94=B9=E4=B8=AA=E5=90=8D=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/socketio/DesignerSocketIO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java index 50f38a39a..b67c7956d 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/socketio/DesignerSocketIO.java @@ -1,6 +1,6 @@ package com.fr.design.mainframe.socketio; -import com.fr.config.RemoteEvent; +import com.fr.config.RemoteConfigEvent; import com.fr.decision.webservice.utils.DecisionServiceConstants; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.loghandler.DesignerLogHandler; @@ -65,7 +65,7 @@ public class DesignerSocketIO { public void call(Object... objects) { assert objects != null && objects.length == 1; String param = (String) objects[0]; - EventDispatcher.fire(RemoteEvent.EDIT, param); + EventDispatcher.fire(RemoteConfigEvent.EDIT, param); } }); socketIO.get().on(Socket.EVENT_DISCONNECT, new Emitter.Listener() { From 28298be0d6f8758495f9cafa28282486e7514c6c Mon Sep 17 00:00:00 2001 From: rinoux Date: Fri, 13 Jul 2018 16:28:32 +0800 Subject: [PATCH 06/13] method name --- .../design/actions/file/SwitchExistEnv.java | 2 +- .../design/data/DesignTableDataManager.java | 4 ++-- .../design/file/HistoryTemplateListPane.java | 10 +++++----- .../com/fr/design/file/TemplateTreePane.java | 2 +- .../com/fr/design/mainframe/JTemplate.java | 19 +++---------------- .../fr/design/mainframe/JVirtualTemplate.java | 4 ++-- 6 files changed, 14 insertions(+), 27 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java index f378d7f5e..a07f42852 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java @@ -38,7 +38,7 @@ public class SwitchExistEnv extends MenuDef { JTemplate t = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); if (t != null) { GeneralContext.addEnvWillChangedListener( - t.getFullPathName(), + t.getPath(), new EnvChangedListener() { public void envChanged() { SwitchExistEnv.this.clearShortCuts(); diff --git a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java index 635ba239a..9e45309ff 100644 --- a/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java +++ b/designer-base/src/main/java/com/fr/design/data/DesignTableDataManager.java @@ -105,7 +105,7 @@ public abstract class DesignTableDataManager { public static void closeTemplate(JTemplate template) { if (template != null) { - dsListenersMap.remove(template.getFullPathName()); + dsListenersMap.remove(template.getPath()); } } @@ -164,7 +164,7 @@ public abstract class DesignTableDataManager { JTemplate template = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); String key = StringUtils.EMPTY; if (template != null) { - key = template.getFullPathName(); + key = template.getPath(); } List dsListeners = dsListenersMap.get(key); if (dsListeners == null) { diff --git a/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListPane.java b/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListPane.java index 4974e53e4..cff8675c4 100644 --- a/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListPane.java +++ b/designer-base/src/main/java/com/fr/design/file/HistoryTemplateListPane.java @@ -114,7 +114,7 @@ public class HistoryTemplateListPane extends JPanel implements FileOperations, C public void closeSelectedReport(JTemplate selected) { DesignModuleFactory.clearChartPropertyPane(); DesignTableDataManager.closeTemplate(selected); - GeneralContext.removeEnvWillChangedListener(selected.getFullPathName()); + GeneralContext.removeEnvWillChangedListener(selected.getPath()); if (contains(selected) == -1) { return; } @@ -139,7 +139,7 @@ public class HistoryTemplateListPane extends JPanel implements FileOperations, C public void closeVirtualSelectedReport(JTemplate selected) { DesignModuleFactory.clearChartPropertyPane(); DesignTableDataManager.closeTemplate(selected); - GeneralContext.removeEnvWillChangedListener(selected.getFullPathName()); + GeneralContext.removeEnvWillChangedListener(selected.getPath()); if (contains(selected) == -1) { return; } @@ -185,7 +185,7 @@ public class HistoryTemplateListPane extends JPanel implements FileOperations, C if (editingTemplate == null) { return; } - DesignerEnvManager.getEnvManager().addRecentOpenedFilePath(editingTemplate.getFullPathName()); + DesignerEnvManager.getEnvManager().addRecentOpenedFilePath(editingTemplate.getPath()); ((HistoryListDataMode) list.getModel()).add(editingTemplate); } @@ -246,7 +246,7 @@ public class HistoryTemplateListPane extends JPanel implements FileOperations, C */ public int contains(String filename) { for (int i = 0; i < historyList.size(); i++) { - String historyPath = historyList.get(i).getFullPathName(); + String historyPath = historyList.get(i).getPath(); if (ComparatorUtils.equals(historyPath, filename)) { return i; } @@ -261,7 +261,7 @@ public class HistoryTemplateListPane extends JPanel implements FileOperations, C * @return 是则返回TRUE */ public boolean isCurrentEditingFile(String filename) { - String editingFileName = editingTemplate.getFullPathName(); + String editingFileName = editingTemplate.getPath(); return ComparatorUtils.equals(filename, editingFileName); } diff --git a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java index 0ce0917a6..5deef13df 100644 --- a/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java +++ b/designer-base/src/main/java/com/fr/design/file/TemplateTreePane.java @@ -218,7 +218,7 @@ public class TemplateTreePane extends JPanel implements FileOperations { MutilTempalteTabPane.getInstance().setSelectedIndex(index - 1); } JTemplate selectedfile = MutilTempalteTabPane.getInstance().getSelectedFile(); - if (!HistoryTemplateListPane.getInstance().isCurrentEditingFile(selectedfile.getFullPathName())) { + if (!HistoryTemplateListPane.getInstance().isCurrentEditingFile(selectedfile.getPath())) { //如果此时面板上的实时刷新的selectedIndex得到的和历史的不一样 DesignerContext.getDesignerFrame().activateJTemplate(selectedfile); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 6733feedf..c683488e8 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -40,7 +40,6 @@ import com.fr.design.write.submit.DBManipulationInWidgetEventPane; import com.fr.design.write.submit.DBManipulationPane; import com.fr.file.FILE; import com.fr.file.FILEChooserPane; -import com.fr.file.FileNodeFILE; import com.fr.file.MemFILE; import com.fr.form.ui.NoneWidget; import com.fr.form.ui.Widget; @@ -50,17 +49,14 @@ import com.fr.log.FineLoggerFactory; import com.fr.report.cell.Elem; import com.fr.report.cell.cellattr.CellImage; import com.fr.stable.ArrayUtils; -import com.fr.stable.OperatingSystem; import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; import com.fr.stable.core.UUID; -import com.fr.stable.project.ProjectConstants; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.undo.UndoManager; import java.awt.*; -import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Set; @@ -202,16 +198,7 @@ public abstract class JTemplate> return -1; } - public String getFullPathName() { - /*String editingFileName = getEditingFILE().getPath(); - if (editingFileName.startsWith(ProjectConstants.REPORTLETS_NAME)) { - editingFileName = ((FileNodeFILE) getEditingFILE()).getEnvPath() + File.separator + editingFileName; - } - if (OperatingSystem.isWindows()) { - return editingFileName.replaceAll("/", "\\\\"); - } else { - return editingFileName.replaceAll("\\\\", "/"); - }*/ + public String getPath() { return getEditingFILE().getPath(); } @@ -580,7 +567,7 @@ public abstract class JTemplate> * @return */ public boolean saveAsTemplate(boolean isShowLoc, String fileName) { - String oldName = this.getFullPathName(); + String oldName = this.getPath(); // alex:如果是SaveAs的话需要让用户来选择路径了 FILEChooserPane fileChooser = getFILEChooserPane(isShowLoc); fileChooser.setFileNameTextField(fileName, this.suffix()); @@ -619,7 +606,7 @@ public abstract class JTemplate> collectInfo(); } //更换最近打开 - DesignerEnvManager.getEnvManager().replaceRecentOpenedFilePath(oldName, this.getFullPathName()); + DesignerEnvManager.getEnvManager().replaceRecentOpenedFilePath(oldName, this.getPath()); return result; } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JVirtualTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JVirtualTemplate.java index 25570ee94..d472cc062 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JVirtualTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JVirtualTemplate.java @@ -37,7 +37,7 @@ public class JVirtualTemplate extends JTemplate { } @Override - public String getFullPathName() { + public String getPath() { String editingFileName = getEditingFILE().getPath(); if (editingFileName.startsWith(ProjectConstants.REPORTLETS_NAME)) { editingFileName = ((FileNodeFILE) getEditingFILE()).getEnvPath() + File.separator + editingFileName; @@ -258,7 +258,7 @@ public class JVirtualTemplate extends JTemplate { @Override public Icon getIcon() { - if (getFullPathName().endsWith("cpt")) { + if (getPath().endsWith("cpt")) { return BaseUtils.readIcon("/com/fr/design/images/buttonicon/newcpts.png"); } else { return BaseUtils.readIcon("/com/fr/web/images/form/new_form3.png"); From bd087e99386511b3c74c1ed31da86b0750d0d05e Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Fri, 13 Jul 2018 17:33:19 +0800 Subject: [PATCH 07/13] REPORT-9643 & REPORT-9613 --- .../component/NumberEditorValidatePane.java | 8 +++++ .../write/submit/DBManipulationPane.java | 29 +++++++++++-------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java b/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java index a5923a9f1..587b28f7a 100644 --- a/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java +++ b/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java @@ -259,6 +259,14 @@ public class NumberEditorValidatePane extends JPanel { ob.setAllowNegative(allowNegativeCheckBox.isSelected()); + if (setMinValueCheckBox.isSelected()) { + ob.setMinValue(Double.parseDouble(StringUtils.EMPTY + minValueSpinner.getValue())); + } + + if (setMaxValueCheckBox.isSelected()) { + ob.setMaxValue(Double.parseDouble(StringUtils.EMPTY + maxValueSpinner.getValue())); + } + if(setMinValueCheckBox.isSelected() || setMaxValueCheckBox.isSelected()){ errorMsgTextFieldPane.setVisible(true); }else{ diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java index dc2b4426b..730b3b744 100644 --- a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java +++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java @@ -310,7 +310,7 @@ public class DBManipulationPane extends BasicBeanPane { protected void setBorderAndLayout(JPanel jPanel){ jPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); jPanel.setBorder(BorderFactory.createTitledBorder( - new ModLineBorder(ModLineBorder.TOP), Inter.getLocText(new String[]{"Submit", "Condition"}))); + new ModLineBorder(ModLineBorder.TOP), Inter.getLocText(new String[]{"Submit", "Condition"}))); } protected void addComponent(JPanel mainPane,JScrollPane addPane){ @@ -368,12 +368,12 @@ public class DBManipulationPane extends BasicBeanPane { @Override public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { - Object ob = e.getItem(); - if ((ComparatorUtils.equals(ob,DML_CONFIG_TYPES[0])) || ComparatorUtils.equals(ob,DML_CONFIG_TYPES[3])) { - checkBoxUpdatePane.setVisible(true); - } else if ((ComparatorUtils.equals(ob,DML_CONFIG_TYPES[1])) || ComparatorUtils.equals(ob,DML_CONFIG_TYPES[2])){ - checkBoxUpdatePane.setVisible(false); - } + Object ob = e.getItem(); + if ((ComparatorUtils.equals(ob, DML_CONFIG_TYPES[0])) || ComparatorUtils.equals(ob, DML_CONFIG_TYPES[3])) { + checkBoxUpdatePane.setVisible(true); + } else if ((ComparatorUtils.equals(ob, DML_CONFIG_TYPES[1])) || ComparatorUtils.equals(ob, DML_CONFIG_TYPES[2])) { + checkBoxUpdatePane.setVisible(false); + } } } }); @@ -512,7 +512,7 @@ public class DBManipulationPane extends BasicBeanPane { for (int j = 0; j < keyColumnNameValueList.size(); j++) { if (ComparatorUtils.equals(selected[i], keyColumnNameValueList.get(j).cn)) { newKeyColumnNameValueList.remove(i); - newKeyColumnNameValueList.add(i, keyColumnNameValueList.get(j)); + newKeyColumnNameValueList.add(i, keyColumnNameValueList.get(j)); } } @@ -523,9 +523,9 @@ public class DBManipulationPane extends BasicBeanPane { } } else if (returnValue == 1 || returnValue == 2) { - for (int i = 0; i < selected.length; i++) { - model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); - } + for (int i = 0; i < selected.length; i++) { + model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); + } } // Richie:初始化 @@ -534,7 +534,12 @@ public class DBManipulationPane extends BasicBeanPane { for (int i = 0; i < selected.length; i++) { model.addKeyColumnNameValue(new KeyColumnNameValue(false, (ColumnName)selected[i], new ColumnValue(""), false)); } - } + }else if (returnValue == 4){ + //新选项和原来没有重复项的情况,产品确认:只做全量增加,原有的清除 + for (int i = 0; i < selected.length; i++) { + model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); + } + } model.fireTableDataChanged(); keyColumnValuesTable.validate(); } From 24743dbf2b3d90d48955ceff0b41c4556b87fd94 Mon Sep 17 00:00:00 2001 From: ju Date: Fri, 13 Jul 2018 17:45:21 +0800 Subject: [PATCH 08/13] =?UTF-8?q?REPORT-9712=20=E5=88=87=E6=8D=A2=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=A4=B1=E8=B4=A5=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E5=86=8D=E5=90=AF=E5=8A=A8=E5=B9=B3=E5=8F=B0=E8=B5=B7?= =?UTF-8?q?=E4=B8=8D=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/actions/file/SwitchExistEnv.java | 36 +++++++++---------- .../com/fr/design/env/RemoteWorkspace.java | 18 +++++++++- .../com/fr/design/mainframe/TemplatePane.java | 19 +++++----- 3 files changed, 45 insertions(+), 28 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java index a07f42852..720cda9e7 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java @@ -22,7 +22,7 @@ import com.fr.workspace.WorkContextCallback; import com.fr.workspace.Workspace; import com.fr.workspace.connect.AuthException; -import javax.swing.JOptionPane; +import javax.swing.*; import java.awt.event.ActionEvent; import java.util.HashMap; import java.util.Iterator; @@ -107,28 +107,28 @@ public class SwitchExistEnv extends MenuDef { Workspace workspace; try { workspace = DesignerWorkspaceGenerator.generate(selectedEnv); + if (workspace == null) { + JOptionPane.showMessageDialog( + DesignerContext.getDesignerFrame(), + Inter.getLocText(new String[]{"FR-Designer_M-SwitchWorkspace", "Failed"})); + return; + } + WorkContext.switchTo(workspace, new WorkContextCallback() { + + @Override + public void done() { + + DesignerEnvManager.getEnvManager().setCurEnvName(envName); + DesignUtils.refreshDesignerFrame(); + HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea(); + fireDSChanged(); + } + }); } catch (AuthException exception) { JOptionPane.showMessageDialog( DesignerContext.getDesignerFrame(), Inter.getLocText(new String[]{"Fine-Designer_Basic_Remote_Connect_Auth_Failed"})); - return; } - WorkContext.switchTo(workspace, new WorkContextCallback() { - @Override - public void success() { - DesignerEnvManager.getEnvManager().setCurEnvName(envName); - DesignUtils.refreshDesignerFrame(); - HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea(); - fireDSChanged(); - } - - @Override - public void fail() { - JOptionPane.showMessageDialog( - DesignerContext.getDesignerFrame(), - Inter.getLocText(new String[]{"M-SwitchWorkspace", "Failed"})); - } - }); } } } diff --git a/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java b/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java index c3d2e91c2..d113752c3 100644 --- a/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java +++ b/designer-base/src/main/java/com/fr/design/env/RemoteWorkspace.java @@ -1,11 +1,12 @@ package com.fr.design.env; -import com.fr.workspace.server.authority.decision.DecisionOperator; import com.fr.locale.InterProviderFactory; +import com.fr.stable.AssistUtils; import com.fr.workspace.WorkContext; import com.fr.workspace.Workspace; import com.fr.workspace.connect.WorkspaceClient; import com.fr.workspace.connect.WorkspaceConnection; +import com.fr.workspace.server.authority.decision.DecisionOperator; /** * Created by juhaoyu on 2018/6/14. @@ -17,10 +18,13 @@ public class RemoteWorkspace implements Workspace { private final String address; + private final WorkspaceConnection connection; + RemoteWorkspace(WorkspaceClient client, WorkspaceConnection connection) { this.client = client; this.address = connection.getUrl(); + this.connection = connection; } @Override @@ -61,4 +65,16 @@ public class RemoteWorkspace implements Workspace { return client.getPool().get(type); } + + @Override + public int hashCode() { + + return connection.hashCode(); + } + + @Override + public boolean equals(Object obj) { + + return obj != null && obj instanceof RemoteWorkspace && AssistUtils.equals(((RemoteWorkspace) obj).connection, this.connection); + } } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/TemplatePane.java b/designer-base/src/main/java/com/fr/design/mainframe/TemplatePane.java index 4107a0538..e3107c3b4 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/TemplatePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/TemplatePane.java @@ -19,6 +19,7 @@ import com.fr.general.Inter; import com.fr.stable.EnvChangedListener; import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContextCallback; +import com.fr.workspace.Workspace; import javax.swing.*; import java.awt.*; @@ -132,17 +133,17 @@ public class TemplatePane extends JPanel implements MouseListener { DesignerWorkspaceInfo selectedEnv = envManager.getWorkspaceInfo(selectedName); GeneralContext.fireEnvWillChangeListener(); try { - WorkContext.switchTo(DesignerWorkspaceGenerator.generate(selectedEnv), new WorkContextCallback() { - - @Override - public void fail() { - - JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Inter.getLocText(new String[]{"M-SwitchWorkspace", "Failed"}), - null, 0, UIManager.getIcon("OptionPane.errorIcon")); - } + Workspace workspace = DesignerWorkspaceGenerator.generate(selectedEnv); + if (workspace == null) { + JOptionPane.showMessageDialog( + DesignerContext.getDesignerFrame(), + Inter.getLocText(new String[]{"FR-Designer_M-SwitchWorkspace", "Failed"})); + return false; + } + WorkContext.switchTo(workspace, new WorkContextCallback() { @Override - public void success() { + public void done() { DesignerEnvManager.getEnvManager().setCurEnvName(selectedName); DesignUtils.refreshDesignerFrame(); } From ee20241d1aba4e3d19d008954ac830edfd995cd6 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Fri, 13 Jul 2018 18:37:52 +0800 Subject: [PATCH 09/13] REPORT-9643 & REPORT-9613 --- .../component/NumberEditorValidatePane.java | 4 ++-- .../write/submit/DBManipulationPane.java | 22 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java b/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java index 587b28f7a..89814e24a 100644 --- a/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java +++ b/designer-base/src/main/java/com/fr/design/widget/component/NumberEditorValidatePane.java @@ -260,11 +260,11 @@ public class NumberEditorValidatePane extends JPanel { ob.setAllowNegative(allowNegativeCheckBox.isSelected()); if (setMinValueCheckBox.isSelected()) { - ob.setMinValue(Double.parseDouble(StringUtils.EMPTY + minValueSpinner.getValue())); + ob.setMinValue(minValueSpinner.getValue()); } if (setMaxValueCheckBox.isSelected()) { - ob.setMaxValue(Double.parseDouble(StringUtils.EMPTY + maxValueSpinner.getValue())); + ob.setMaxValue(maxValueSpinner.getValue()); } if(setMinValueCheckBox.isSelected() || setMaxValueCheckBox.isSelected()){ diff --git a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java index 730b3b744..56c3f5488 100644 --- a/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java +++ b/designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java @@ -310,7 +310,7 @@ public class DBManipulationPane extends BasicBeanPane { protected void setBorderAndLayout(JPanel jPanel){ jPanel.setLayout(FRGUIPaneFactory.createBorderLayout()); jPanel.setBorder(BorderFactory.createTitledBorder( - new ModLineBorder(ModLineBorder.TOP), Inter.getLocText(new String[]{"Submit", "Condition"}))); + new ModLineBorder(ModLineBorder.TOP), Inter.getLocText("Fine-Designer_Submit_Condition"))); } protected void addComponent(JPanel mainPane,JScrollPane addPane){ @@ -465,6 +465,11 @@ public class DBManipulationPane extends BasicBeanPane { // Richie:初始化 int returnValue = DEFAULT_RETURN_VALUE; int coverNumber = 0; + + if (!keyColumnNameValueList.isEmpty()) { + //如果存在先前项,设置状态为5 + returnValue = 5 ; + } for (int i = 0; i < selected.length; i++) { if (returnValue == 0 || returnValue == 3) { break; @@ -526,7 +531,12 @@ public class DBManipulationPane extends BasicBeanPane { for (int i = 0; i < selected.length; i++) { model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); } - } + } else if (returnValue == 5){ + //新选项和原来没有重复项的情况,产品确认:只做全量增加,原有的清除 + for (int i = 0; i < selected.length; i++) { + model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); + } + } // Richie:初始化 if (keyColumnNameValueList.isEmpty()) { @@ -534,12 +544,8 @@ public class DBManipulationPane extends BasicBeanPane { for (int i = 0; i < selected.length; i++) { model.addKeyColumnNameValue(new KeyColumnNameValue(false, (ColumnName)selected[i], new ColumnValue(""), false)); } - }else if (returnValue == 4){ - //新选项和原来没有重复项的情况,产品确认:只做全量增加,原有的清除 - for (int i = 0; i < selected.length; i++) { - model.addKeyColumnNameValue(newKeyColumnNameValueList.get(i)); - } - } + } + model.fireTableDataChanged(); keyColumnValuesTable.validate(); } From ed8f2798c43fce06c5d4846e4049eed004119bc2 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Mon, 16 Jul 2018 11:06:27 +0800 Subject: [PATCH 10/13] REPORT-9377 --- .../com/fr/design/actions/help/AboutPane.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java index 40ee0902e..cfae95a42 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java @@ -26,6 +26,7 @@ import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.net.URI; +import java.text.MessageFormat; import java.util.Locale; public class AboutPane extends JPanel { @@ -34,6 +35,7 @@ public class AboutPane extends JPanel { private static final String COPYRIGHT_LABEL = "\u00A9 "; private static final String BUILD_PREFIX = " "; private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("company_telephone"); + private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("president_phone"); public AboutPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); @@ -79,6 +81,9 @@ public class AboutPane extends JPanel { contentPane.add(urlActionPane); contentPane.add(emailPane); + + contentPane.add(getRemarkPane()); + if (shouldShowThanks()) { addThankPane(contentPane); } @@ -111,6 +116,43 @@ public class AboutPane extends JPanel { return true; } + private JPanel getRemarkPane(){ + String remark = Inter.getLocText("Fine-Designer_About_Remark_Info",PRESIDENT_PHONE); + UILabel label = new UILabel(); + label.setSize(new Dimension(580,30)); + + //用THML标签进行拼接,以实现自动换行 + StringBuilder builder = new StringBuilder(""); + char[] chars = remark.toCharArray(); + //获取字体计算大小 + FontMetrics fontMetrics = label.getFontMetrics(label.getFont()); + int start = 0; + int len = 0; + while (start + len < remark.length()) { + while (true) { + len++; + if (start + len > remark.length()) + break; + if (fontMetrics.charsWidth(chars, start, len) + > label.getWidth()) { + break; + } + } + builder.append(chars, start, len-1).append("
"); + start = start + len - 1; + len = 0; + } + //拼接剩余部分 + builder.append(chars, start, remark.length()-start); + builder.append(""); + + JPanel jPanel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); + label.setText(builder.toString()); + jPanel.add(label); + + return jPanel; + } + //添加鸣谢面板 private void addThankPane(JPanel contentPane) { BBSGuestPaneProvider pane = StableFactory.getMarkedInstanceObjectFromClass(BBSGuestPaneProvider.XML_TAG, BBSGuestPaneProvider.class); From 345f88864e18b2a9ce488f215fd74089833231ef Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Mon, 16 Jul 2018 11:09:16 +0800 Subject: [PATCH 11/13] REPORT-9377 --- .../src/main/java/com/fr/design/actions/help/AboutPane.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java index cfae95a42..1e015ef8c 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java @@ -26,7 +26,6 @@ import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.net.URI; -import java.text.MessageFormat; import java.util.Locale; public class AboutPane extends JPanel { From 719cba16755c89e2668c44bd9e99e24430745d69 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Mon, 16 Jul 2018 11:13:57 +0800 Subject: [PATCH 12/13] REPORT-9377 --- .../src/main/java/com/fr/design/actions/help/AboutPane.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java index 1e015ef8c..d3f517a2f 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java @@ -33,8 +33,8 @@ public class AboutPane extends JPanel { private static final int DEFAULT_GAP = 12; private static final String COPYRIGHT_LABEL = "\u00A9 "; private static final String BUILD_PREFIX = " "; - private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("company_telephone"); - private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("president_phone"); + private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("help.compNo"); + private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("help.Pno"); public AboutPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); From f6bbe6e58625a7faabfa3540bd49d4ad781c15c9 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Mon, 16 Jul 2018 11:18:07 +0800 Subject: [PATCH 13/13] REPORT-9377 --- .../src/main/java/com/fr/design/actions/help/AboutPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java index d3f517a2f..5bc1465f7 100644 --- a/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java +++ b/designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java @@ -34,7 +34,7 @@ public class AboutPane extends JPanel { private static final String COPYRIGHT_LABEL = "\u00A9 "; private static final String BUILD_PREFIX = " "; private static final String COMPANY_TELEPHONE = CloudCenter.getInstance().acquireUrlByKind("help.compNo"); - private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("help.Pno"); + private static final String PRESIDENT_PHONE = CloudCenter.getInstance().acquireUrlByKind("help.PNo"); public AboutPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout());