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 ddf806f026..707309a481 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 @@ -231,7 +231,8 @@ public class TemplateTreePane extends JPanel implements FileOperations { return; } String lock = node.getLock(); - boolean showLockInfo = LockInfoUtils.isCompatibleOperator() ? (lock != null && !lock.equals(node.getUserID())) + boolean showLockInfo = LockInfoUtils.isCompatibleOperator() || LockInfoUtils.unableGetLockInfo() + ? (lock != null && !lock.equals(node.getUserID())) : WorkContext.getCurrent().get(LockInfoOperator.class).isTplLocked(selectedFilePath); if (showLockInfo) { UserInfo userInfo = WorkContext.getCurrent().get(LockInfoOperator.class).getUserInfo(selectedFilePath); diff --git a/designer-base/src/main/java/com/fr/design/lock/LockInfoUtils.java b/designer-base/src/main/java/com/fr/design/lock/LockInfoUtils.java index ce8c493e9e..52a2c526c7 100644 --- a/designer-base/src/main/java/com/fr/design/lock/LockInfoUtils.java +++ b/designer-base/src/main/java/com/fr/design/lock/LockInfoUtils.java @@ -2,6 +2,7 @@ package com.fr.design.lock; import com.fr.report.lock.DefaultLockInfoOperator; import com.fr.report.lock.LockInfoOperator; +import com.fr.start.server.FineEmbedServer; import com.fr.workspace.WorkContext; /** @@ -15,4 +16,8 @@ public class LockInfoUtils { LockInfoOperator lockInfoOperator = WorkContext.getCurrent().get(LockInfoOperator.class); return lockInfoOperator instanceof DefaultLockInfoOperator; } + + public static boolean unableGetLockInfo() { + return WorkContext.getCurrent().isLocal() && !FineEmbedServer.isRunning(); + } }