постепенное выведение старой концепции текущих объектов, касаемо табличных лучше держать их в интерфейсе таблиц, чтобы не писать описание объекта дважды и не мучиться с типом. некоторые фиксы
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import Common.MainModule_;
|
||||
import Common.Passes.Pass;
|
||||
import Common.Passes.PassException;
|
||||
import Common.Utils.Utils_;
|
||||
import _VisualDVM.Current;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.GlobalData.Machine.Machine;
|
||||
import _VisualDVM.GlobalData.Machine.MachineType;
|
||||
import _VisualDVM.GlobalData.Makefile.Makefile;
|
||||
import _VisualDVM.GlobalData.RunConfiguration.RunConfiguration;
|
||||
import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTask;
|
||||
import _VisualDVM.GlobalData.Tasks.RunTask.RunTask;
|
||||
import _VisualDVM.GlobalData.Tasks.TaskState;
|
||||
import _VisualDVM.GlobalData.User.User;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
import _VisualDVM.ProjectData.Project.db_project_info;
|
||||
|
||||
@@ -24,7 +30,9 @@ public class Run extends Pass<db_project_info> {
|
||||
}
|
||||
@Override
|
||||
protected void performPreparation() throws Exception {
|
||||
runTasks = Global.mainModule.getRunConfiguration().generateRunTasks(target, Global.mainModule.getCompilationTask());
|
||||
runTasks = MainModule_.instance.getDb().getTable(RunConfiguration.class).getUI().getCurrent().generateRunTasks(target,
|
||||
MainModule_.instance.getDb().getTable(CompilationTask.class).getUI().getCurrent()
|
||||
);
|
||||
for (RunTask runTask : runTasks) {
|
||||
Global.mainModule.getDb().Insert(runTask);
|
||||
Utils_.forceDeleteWithCheck(runTask.getLocalWorkspace());
|
||||
@@ -37,17 +45,17 @@ public class Run extends Pass<db_project_info> {
|
||||
@Override
|
||||
protected boolean canStart(Object... args) {
|
||||
subpass = null;
|
||||
if (Global.mainModule.Check(Log, Current.Project, Current.Machine, Current.User, Current.Makefile, Current.RunConfiguration,
|
||||
Current.CompilationTask)) {
|
||||
if ((Global.mainModule.Check(Log, Current.Project))&&
|
||||
MainModule_.instance.getDb().Check(Log,Machine.class, User.class, Makefile.class, RunConfiguration.class,CompilationTask.class)) {
|
||||
//-
|
||||
target = Global.mainModule.getProject();
|
||||
//-
|
||||
if (Global.mainModule.getMachine().type.equals(MachineType.MVS_cluster) &&
|
||||
Global.mainModule.getRunConfiguration().LauncherCall.isEmpty()
|
||||
if (MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent().type.equals(MachineType.MVS_cluster) &&
|
||||
MainModule_.instance.getDb().getTable(RunConfiguration.class).getUI().getCurrent().LauncherCall.isEmpty()
|
||||
) {
|
||||
Log.Writeln_("Запуск напрямую на кластере запрещён.Используйте для запуска DVM систему или MPI");
|
||||
}
|
||||
if (!Global.mainModule.getCompilationTask().state.equals(TaskState.Done))
|
||||
if (!MainModule_.instance.getDb().getTable(CompilationTask.class).getUI().getCurrent().state.equals(TaskState.Done))
|
||||
Log.Writeln_("Текущая задача на компиляцию еще не выполнялась, или была завершена с ошибками");
|
||||
return Log.isEmpty();
|
||||
}
|
||||
@@ -55,7 +63,7 @@ public class Run extends Pass<db_project_info> {
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
switch (Global.mainModule.getMachine().type) {
|
||||
switch (MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent().type) {
|
||||
case Local:
|
||||
if (Utils_.isWindows()) {
|
||||
subpass = Global.mainModule.getPass(PassCode.WindowsLocalRun);
|
||||
@@ -64,7 +72,9 @@ public class Run extends Pass<db_project_info> {
|
||||
break;
|
||||
case Undefined:
|
||||
case MVS_cluster:
|
||||
throw new PassException("Запуск не реализован для типа машины " + Utils_.DQuotes(Global.mainModule.getMachine().type));
|
||||
throw new PassException("Запуск не реализован для типа машины "
|
||||
+ Utils_.DQuotes(
|
||||
MainModule_.instance.getDb().getTable(Machine.class).getUI().getCurrent().type));
|
||||
/*
|
||||
case MVS_cluster:
|
||||
subpass = passes.get(PassCode_2021.MVSRun);
|
||||
@@ -81,7 +91,7 @@ public class Run extends Pass<db_project_info> {
|
||||
boolean task_completed = false;
|
||||
task.setProgress(i, runTasks.size());
|
||||
//-
|
||||
Global.mainModule.getDb().runTasks.getUI().Refresh();
|
||||
Global.mainModule.getDb().runTasks.getUI().RedrawControl();
|
||||
Global.mainModule.getDb().runTasks.getUI().SetCurrentByPK(task.id);
|
||||
//-
|
||||
subpass.Do(task, target);
|
||||
@@ -102,7 +112,7 @@ public class Run extends Pass<db_project_info> {
|
||||
break;
|
||||
}
|
||||
//-
|
||||
Global.mainModule.getDb().runTasks.getUI().Refresh();
|
||||
Global.mainModule.getDb().runTasks.getUI().RedrawControl();
|
||||
Global.mainModule.getUI().getDebugWindow().ShowCurrentRunTask();
|
||||
//-
|
||||
if (!task_completed) break;
|
||||
|
||||
Reference in New Issue
Block a user