From 001e68b41c1b5e03ad1ddfdef85dba23510ade02 Mon Sep 17 00:00:00 2001 From: Yvan Date: Thu, 28 Jan 2021 16:44:10 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-47632=20=E8=BF=9C=E7=A8=8B=E9=94=81?= =?UTF-8?q?=E5=AE=9A-=E4=BB=8E=E8=BF=9C=E7=A8=8B=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=88=B0=E6=9C=AC=E5=9C=B0=E5=90=8E=EF=BC=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E7=AA=97=E5=8F=A3=E7=9A=84=E9=94=81=E5=AE=9A=E5=9B=BE?= =?UTF-8?q?=E6=A0=87=E4=B8=8D=E6=B6=88=E5=A4=B1=20=E3=80=90=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E5=8E=9F=E5=9B=A0=E3=80=91=E4=B9=8B=E5=89=8D=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=B8=8D=E5=AE=8C=E5=96=84=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E5=A4=84=E4=BA=8E=E8=BF=9C=E7=A8=8B=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E6=98=AF=E9=94=81=E5=AE=9A=E7=9A=84=EF=BC=8CisLock?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E4=B8=BAtrue=EF=BC=8C=E7=84=B6=E5=90=8E?= =?UTF-8?q?=E5=88=87=E5=9B=9E=E6=9C=AC=E5=9C=B0=E4=BA=86=EF=BC=8C=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E5=8F=98=E9=87=8F=E6=B2=A1=E6=9C=89=E8=A2=AB=E7=BD=AE?= =?UTF-8?q?=E4=B8=BAfalse=EF=BC=8C=E4=BC=9A=E5=AF=BC=E8=87=B4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E7=AA=97=E5=8F=A3=E5=9B=BE=E6=A0=87=E4=B8=80?= =?UTF-8?q?=E7=9B=B4=E4=B8=BA=E9=94=81=E5=AE=9A=E7=8A=B6=E6=80=81=20?= =?UTF-8?q?=E3=80=90=E6=94=B9=E5=8A=A8=E6=80=9D=E8=B7=AF=E3=80=91=E5=8A=A0?= =?UTF-8?q?=E4=B8=AA=E5=88=A4=E6=96=AD=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=8D?= =?UTF-8?q?=E6=98=AF=E8=BF=9C=E7=A8=8B=E8=AE=BE=E8=AE=A1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=94isLock=E4=B8=BAtrue=EF=BC=8C=E5=B0=86=E5=85=B6?= =?UTF-8?q?=E7=BD=AE=E4=B8=BAfalse=EF=BC=8C=E5=86=8D=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E8=A7=82=E5=AF=9F=E8=80=85=E4=BB=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/editlock/EditLockChangeChecker.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java b/designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java index 8f276dfe8..d45c4c181 100644 --- a/designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java +++ b/designer-base/src/main/java/com/fr/design/editlock/EditLockChangeChecker.java @@ -40,13 +40,17 @@ public abstract class EditLockChangeChecker { try { EditLockOperator operator = WorkContext.getCurrent().get(EditLockOperator.class); boolean locked = operator.isLocked(lockItem); - if (isLocked != locked) { - isLocked = locked; + if (isLocked() != locked) { + setLocked(locked); fireChange(); } } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } + } else if (isLocked()){ + // 如果不是远程环境,且此前的远程状态下为锁定的话,切换回来后需要将其修改为不锁定 + setLocked(false); + fireChange(); } } }, 0, INTERVAL, TimeUnit.MILLISECONDS); @@ -65,9 +69,17 @@ public abstract class EditLockChangeChecker { @Override public void run() { for (EditLockChangeListener listener : EditLockChangeChecker.this.listeners) { - listener.updateLockedState(new EditLockChangeEvent(isLocked)); + listener.updateLockedState(new EditLockChangeEvent(isLocked())); } } }); } + + public boolean isLocked() { + return this.isLocked; + } + + public void setLocked(boolean locked) { + this.isLocked = locked; + } }