From bb29d0a370cdab10541e46ad8a0e8620823c367c Mon Sep 17 00:00:00 2001 From: zack Date: Thu, 9 May 2019 20:12:25 +0800 Subject: [PATCH 1/6] =?UTF-8?q?REPORT-14831=20=E6=96=B0=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A0=91=E6=8F=92=E4=BB=B6=EF=BC=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E5=B1=9E=E6=80=A7=E5=9B=BD=E9=99=85=E5=8C=96=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/designer/creator/XTreeEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java index c5672b389..bde83a176 100644 --- a/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java +++ b/designer-form/src/main/java/com/fr/design/designer/creator/XTreeEditor.java @@ -73,7 +73,7 @@ public class XTreeEditor extends XWidgetCreator { crp = (CRPropertyDescriptor[]) ArrayUtils.add(crp, new CRPropertyDescriptor("ajax", this.data.getClass()).setI18NName( com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Load_By_Async")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, - "Advanced")); + "Fine-Design_Basic_Advanced")); crp = this.addAllowEdit(crp); crp = this.addCustomData(crp); From 6f1747409bbf134703936018c9020b9c0dac3201 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 10:58:13 +0800 Subject: [PATCH 2/6] =?UTF-8?q?REPORT-16986=20=E6=A8=A1=E6=9D=BF=E5=88=B6?= =?UTF-8?q?=E4=BD=9C=E5=9F=8B=E7=82=B9=E7=9A=84tpl.info=E9=87=8C=EF=BC=8C?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A6=82=E6=9E=9C=E6=98=AF=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E5=90=8D=E4=BC=9A=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/info/TemplateInfoCollector.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java index 0996c260c..342213e0f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java @@ -12,12 +12,14 @@ import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLableReader; import com.fr.third.javax.xml.stream.XMLStreamException; -import com.fr.workspace.WorkContext; +import com.fr.third.org.apache.commons.io.FileUtils; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.FileReader; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -133,7 +135,8 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { return; } try { - XMLableReader xmlReader = XMLableReader.createXMLableReader(new FileReader(getInfoFile())); + InputStreamReader isReader = new InputStreamReader(new FileInputStream(getInfoFile()), StandardCharsets.UTF_8); + XMLableReader xmlReader = XMLableReader.createXMLableReader(isReader); xmlReader.readXMLObject(this); } catch (XMLStreamException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); @@ -160,8 +163,12 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { */ private void saveInfo() { try { - FileOutputStream out = new FileOutputStream(getInfoFile()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLTools.writeOutputStreamXML(this, out); + out.flush(); + out.close(); + String fileContent = new String(out.toByteArray(), StandardCharsets.UTF_8); + FileUtils.writeStringToFile(getInfoFile(), fileContent, StandardCharsets.UTF_8); } catch (Exception ex) { FineLoggerFactory.getLogger().error(ex.getMessage()); } From 97040ebdc92b62d61f1ee781f12b1e9fac940347 Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 11:07:43 +0800 Subject: [PATCH 3/6] report-16674 --- .../mainframe/vcs/ui/FileVersionCellEditor.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java index a7f7f5ef0..1e5b27e54 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java @@ -8,6 +8,7 @@ import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.vcs.common.VcsHelper; import com.fr.design.mainframe.vcs.common.VcsCacheFileNodeFile; import com.fr.file.filetree.FileNode; +import com.fr.general.ComparatorUtils; import com.fr.report.entity.VcsEntity; import com.fr.stable.StringUtils; import com.fr.workspace.WorkContext; @@ -53,9 +54,13 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe //先关闭当前打开的模板版本 JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); jt.stopEditing(); - MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); - MutilTempalteTabPane.getInstance().closeFormat(jt); - MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt); + //只有模板一样是关闭当前模板 + if (ComparatorUtils.equals(fileOfVersion, jt.getPath())) { + MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); + MutilTempalteTabPane.getInstance().closeFormat(jt); + MutilTempalteTabPane.getInstance().closeSpecifiedTemplate(jt); + } + //再打开cache中的模板 DesignerContext.getDesignerFrame().openTemplate(new VcsCacheFileNodeFile(new FileNode(fileOfVersion, false))); From 15bcbf85fbe2ccae63adb06dc2be18ddc8d3e8fd Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Fri, 10 May 2019 11:08:53 +0800 Subject: [PATCH 4/6] rt --- .../com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java index 1e5b27e54..ac525128a 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/FileVersionCellEditor.java @@ -54,7 +54,7 @@ public class FileVersionCellEditor extends AbstractCellEditor implements TableCe //先关闭当前打开的模板版本 JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); jt.stopEditing(); - //只有模板一样是关闭当前模板 + //只有模板路径一致时关闭当前模板 if (ComparatorUtils.equals(fileOfVersion, jt.getPath())) { MutilTempalteTabPane.getInstance().setIsCloseCurrent(true); MutilTempalteTabPane.getInstance().closeFormat(jt); From 78f8afd3ad4997106524f13f1558065f15c15800 Mon Sep 17 00:00:00 2001 From: "alex.sung" Date: Fri, 10 May 2019 11:39:35 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=BB=B6=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E5=86=99=E9=94=99=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/mainframe/InformationCollector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java index 775f402d8..83cb7dd33 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/InformationCollector.java @@ -205,7 +205,7 @@ public class InformationCollector implements XMLReadable, XMLWriter { TemplateInfoCollector.getInstance().sendTemplateInfo(); ErrorInfoUploader.getInstance().sendErrorInfo(); } - }, SEND_DELAY, TimeUnit.SECONDS); + }, SEND_DELAY, TimeUnit.MILLISECONDS); } /** From d89a2bedde93343e581e4894ee9303520f0c7724 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 10 May 2019 11:43:30 +0800 Subject: [PATCH 6/6] =?UTF-8?q?REPORT-16986=20=E6=A8=A1=E6=9D=BF=E5=88=B6?= =?UTF-8?q?=E4=BD=9C=E5=9F=8B=E7=82=B9=E7=9A=84tpl.info=E9=87=8C=EF=BC=8C?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A6=82=E6=9E=9C=E6=98=AF=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E5=90=8D=E4=BC=9A=E4=B9=B1=E7=A0=81=3D>=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/info/TemplateInfoCollector.java | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java index 342213e0f..330b9304a 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/template/info/TemplateInfoCollector.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe.template.info; import com.fr.base.FRContext; +import com.fr.base.io.XMLReadHelper; import com.fr.design.DesignerEnvManager; import com.fr.log.FineLoggerFactory; import com.fr.stable.ProductConstants; @@ -18,7 +19,8 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.InputStreamReader; +import java.io.IOException; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; @@ -134,14 +136,24 @@ public class TemplateInfoCollector implements XMLReadable, XMLWriter { if (!getInfoFile().exists()) { return; } - try { - InputStreamReader isReader = new InputStreamReader(new FileInputStream(getInfoFile()), StandardCharsets.UTF_8); - XMLableReader xmlReader = XMLableReader.createXMLableReader(isReader); - xmlReader.readXMLObject(this); - } catch (XMLStreamException e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); + + XMLableReader reader = null; + try (InputStream in = new FileInputStream(getInfoFile())) { + // XMLableReader 还是应该考虑实现 Closable 接口的,这样就能使用 try-with 语句了 + reader = XMLReadHelper.createXMLableReader(in, XMLPrintWriter.XML_ENCODER); + reader.readXMLObject(this); } catch (FileNotFoundException e) { // do nothing + } catch (XMLStreamException | IOException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } finally { + try { + if (reader != null) { + reader.close(); + } + } catch (XMLStreamException e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } } }