From cac5653a86b7efa41bceda980d17ae634c614bbe Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 28 Apr 2019 12:55:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?REPORT-16568=20@xiaoxia=20=E5=A4=9A?= =?UTF-8?q?=E4=BA=BA=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E4=B8=AA=E7=94=A8=E6=88=B7=E6=9C=AA=E6=89=93?= =?UTF-8?q?=E5=BC=80=E6=A8=A1=E6=9D=BF=EF=BC=8C=E7=9B=B4=E6=8E=A5=E8=BF=9B?= =?UTF-8?q?=E5=85=A5=E7=89=88=E6=9C=AC=E6=8E=A7=E5=88=B6,=E6=A8=A1?= =?UTF-8?q?=E7=89=88=E4=B8=8D=E4=BC=9A=E4=B8=8A=E9=94=81=E4=B8=94=E8=83=BD?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E8=BF=9B=E5=85=A5=E7=89=88=E6=9C=AC=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/DesignerFrameFileDealerPane.java | 7 ------- .../mainframe/vcs/common/VcsCacheFileNodeFile.java | 12 ++++++++---- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index bac6c15c39..264d14fc2c 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -321,13 +321,6 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } - private void saveCurrentEditingTemplate() { - JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); - jt.stopEditing(); - jt.saveTemplate(); - jt.requestFocus(); - } - private boolean isCurrentEditing(String path) { JTemplate jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); String editing = jt.getEditingFILE().getPath(); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsCacheFileNodeFile.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsCacheFileNodeFile.java index 9933fc0e74..40edc01f05 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsCacheFileNodeFile.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsCacheFileNodeFile.java @@ -6,9 +6,10 @@ import com.fr.file.filetree.FileNode; import com.fr.general.ComparatorUtils; import com.fr.stable.StableUtils; import com.fr.workspace.WorkContext; -import com.fr.workspace.resource.WorkResource; import com.fr.workspace.resource.WorkResourceOutputStream; +import com.fr.workspace.server.lock.TplOperator; +import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.OutputStream; @@ -29,7 +30,7 @@ public class VcsCacheFileNodeFile extends FileNodeFILE { * @throws Exception */ @Override - public InputStream asInputStream() { + public InputStream asInputStream() throws Exception { if (node == null) { return null; } @@ -40,8 +41,11 @@ public class VcsCacheFileNodeFile extends FileNodeFILE { return null; } - InputStream in = WorkContext.getCurrent().get(WorkResource.class) - .openStream(StableUtils.pathJoin(VcsHelper.VCS_CACHE_DIR, envPath.substring(VcsHelper.VCS_CACHE_DIR.length() + 1))); + InputStream in = new ByteArrayInputStream( + WorkContext.getCurrent().get(TplOperator.class).readAndLockFile( + StableUtils.pathJoin(VcsHelper.VCS_CACHE_DIR, envPath.substring(VcsHelper.VCS_CACHE_DIR.length() + 1)) + ) + ); return envPath.endsWith(".cpt") || envPath.endsWith(".frm") ? XMLEncryptUtils.decodeInputStream(in) : in; From 6d9cf9dd062e9e35e4bc863d40dbaf8fcad3d22e Mon Sep 17 00:00:00 2001 From: XiaXiang Date: Sun, 28 Apr 2019 14:23:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?REPORT-16520=20@xiaoxia=20=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=99=A8=E5=86=85=E6=89=93=E5=BC=80=E5=A4=9A=E6=A8=A1?= =?UTF-8?q?=E7=89=88=EF=BC=8C=E8=BF=9B=E5=85=A5=E6=A8=A1=E7=89=88=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E7=AE=A1=E7=90=86=E4=BC=9A=E2=80=9C=E5=8D=A1=E4=BD=8F?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/fr/design/file/MutilTempalteTabPane.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java b/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java index 65989dfccf..968f72a599 100644 --- a/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java +++ b/designer-base/src/main/java/com/fr/design/file/MutilTempalteTabPane.java @@ -751,8 +751,11 @@ public class MutilTempalteTabPane extends JComponent { JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); selectedIndex = HistoryTemplateListCache.getInstance().contains(template); } - //如果是已后台关闭的模板,则重新打开文件 - openedTemplate.get(selectedIndex).activeOldJTemplate(); + if (selectedIndex < openedTemplate.size()) { + //如果是已后台关闭的模板,则重新打开文件 + openedTemplate.get(selectedIndex).activeOldJTemplate(); + } + } }