Browse Source

Pull request #12249: REPORT-91839 模板版本管理二期 修复bug

Merge in DESIGN/design from ~DESTINY.LIN/design:feature/x to feature/x

* commit 'b8f7eda1b0fbc2bb30f0281d6b4a6abcf6b788b3':
  REPORT-91839 模板版本管理二期 修复bug
feature/x
parent
commit
5619bf3f82
  1. 30
      designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java
  2. 11
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java

30
designer-base/src/main/java/com/fr/design/mainframe/vcs/common/VcsHelper.java

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

11
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java

@ -19,10 +19,6 @@ import com.fr.design.widget.FRWidgetFactory;
import com.fr.general.FRFont; import com.fr.general.FRFont;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.transaction.Configurations;
import com.fr.transaction.WorkerAdaptor;
import com.fr.workspace.server.vcs.VcsConfig;
import com.fr.workspace.server.vcs.VcsManager;
import com.fr.workspace.server.vcs.v2.move.VcsMoveService; import com.fr.workspace.server.vcs.v2.move.VcsMoveService;
import com.fr.workspace.server.vcs.v2.move.VcsMoveStrategy; import com.fr.workspace.server.vcs.v2.move.VcsMoveStrategy;
@ -391,13 +387,6 @@ public class VcsMovePanel extends BasicPane {
VcsMoveService.getInstance().stopMoving(); VcsMoveService.getInstance().stopMoving();
initSuccessPane(); initSuccessPane();
VcsMovePanel.this.getParentCard().show(getParentPane(), SUCCESS); VcsMovePanel.this.getParentCard().show(getParentPane(), SUCCESS);
Configurations.update(new WorkerAdaptor(VcsConfig.class) {
@Override
public void run() {
VcsConfig.getInstance().setUseV2(true);
}
});
VcsManager.getInstance().updateManager();
VcsHelper.getInstance().updateLegacyMode(); VcsHelper.getInstance().updateLegacyMode();
} }
} }

Loading…
Cancel
Save