|
|
|
@ -79,7 +79,14 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
EventDispatcher.listen(ConfigEvent.READY, new ListenerAdaptor() { |
|
|
|
|
@Override |
|
|
|
|
protected void on(Event event) { |
|
|
|
|
try { |
|
|
|
|
legacyMode = WorkContext.getCurrent().get(VcsOperator.class).isLegacyMode(); |
|
|
|
|
FineLoggerFactory.getLogger().info("[VcsHelper] legacyMode:{}", legacyMode); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
//保险起见走老逻辑
|
|
|
|
|
legacyMode = true; |
|
|
|
|
FineLoggerFactory.getLogger().error("[VcsHelper] get legacy failed", e.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
@ -99,7 +106,6 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); |
|
|
|
|
if (DesignerEnvManager.getEnvManager().getVcsConfigManager().isVcsEnable() && JTemplate.isValid(template)) { |
|
|
|
|
fireAutoSaveVcs(template); |
|
|
|
|
FineLoggerFactory.getLogger().info("[VcsV2] fire Vcs auto save success!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, interval, interval, TimeUnit.MINUTES); |
|
|
|
@ -263,7 +269,7 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
@Override |
|
|
|
|
public void templateOpened(JTemplate<?, ?> jt) { |
|
|
|
|
try { |
|
|
|
|
if (VcsConfigManager.getInstance().isUseAutoSave()) { |
|
|
|
|
if (checkAutoSaveSupport()) { |
|
|
|
|
startAutoSave(VcsConfigManager.getInstance().getAutoSaveInterval()); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
@ -282,10 +288,6 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
* @param jt 模板 |
|
|
|
|
*/ |
|
|
|
|
public void fireAutoSaveVcs(final JTemplate jt) { |
|
|
|
|
ExecutorService fireVcs = Executors.newSingleThreadExecutor(new NamedThreadFactory("autoFireVcs")); |
|
|
|
|
fireVcs.execute(new Runnable() { |
|
|
|
|
@Override |
|
|
|
|
public void run() { |
|
|
|
|
String fileName = getEditingFilename(); |
|
|
|
|
VcsOperator operator = WorkContext.getCurrent().get(VcsOperator.class); |
|
|
|
|
VcsEntity entity = operator.getFileVersionByIndex(fileName, 0); |
|
|
|
@ -298,11 +300,6 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
doSave(jt, fileName, latestFileVersion, replace, operator); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
if (!fireVcs.isShutdown()) { |
|
|
|
|
fireVcs.shutdown(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void doSave(JTemplate jt, String fileName, int latestFileVersion, boolean replace, VcsOperator operator) { |
|
|
|
|
if (jt.getEditingFILE() instanceof VcsCacheFileNodeFile) { |
|
|
|
@ -348,7 +345,9 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
@Override |
|
|
|
|
public void templateClosed(JTemplate<?, ?> jt) { |
|
|
|
|
try { |
|
|
|
|
if (checkAutoSaveSupport()) { |
|
|
|
|
stopAutoSave(); |
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage()); |
|
|
|
|
} |
|
|
|
@ -372,4 +371,13 @@ public class VcsHelper implements JTemplateActionListener {
|
|
|
|
|
public boolean checkMoveFunctionSupport() { |
|
|
|
|
return VcsHelper.getInstance().isLegacyMode() && (WorkContext.getCurrent().isLocal() || WorkContext.getCurrent().isRoot()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 是否支持自动保存 |
|
|
|
|
* |
|
|
|
|
* @return 支持返回true |
|
|
|
|
*/ |
|
|
|
|
public boolean checkAutoSaveSupport() { |
|
|
|
|
return VcsConfigManager.getInstance().isUseAutoSave() && !VcsHelper.getInstance().isLegacyMode(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|