аналогичная запаковка и распаковка окружения. осталось формирование задач и отображение в таблице

This commit is contained in:
2025-03-04 13:33:46 +03:00
parent b79b33e232
commit 0b35c948ab
18 changed files with 363 additions and 56 deletions

View File

@@ -6,7 +6,7 @@ import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector;
public class DVMSettings extends Settings {
//todo.хранить флаги и окружение в json чтобы можно было в форме их видеть.
//todo.вывести. хранить флаги и окружение в json чтобы можно было в форме их видеть.
public String environments = "";
@Description("DEFAULT 0")
public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались.
@@ -17,8 +17,9 @@ public class DVMSettings extends Settings {
public int max_dim_proc_count = 4;
//--
@Description("DEFAULT ''")
public String packedCompilationOptionsJson="";
public String packedCompilationOptionsJson = "";
@Description("DEFAULT ''")
public String packedRunEnvironmentValuesJson = "";
public DVMSettings() {
}
public DVMSettings(DVMSettings src) {
@@ -28,10 +29,10 @@ public class DVMSettings extends Settings {
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
DVMSettings c = (DVMSettings) src;
environments = c.environments;
environments = c.environments; //todo вывести.
Is_DVM_STAT = c.Is_DVM_STAT;
// usr_par=c.usr_par;
packedCompilationOptionsJson= ((DVMSettings) src).packedCompilationOptionsJson;
packedCompilationOptionsJson = ((DVMSettings) src).packedCompilationOptionsJson;
packedRunEnvironmentValuesJson = ((DVMSettings) src).packedRunEnvironmentValuesJson;
//-
cube = c.cube;
max_proc_count = c.max_proc_count;

View File

@@ -37,6 +37,7 @@ public class DVMSettingsDialog extends DBObjectDialog<DVMSettings, DVMSettingsFi
fields.cbDvmStat.setSelected(Result.Is_DVM_STAT != 0);
//---
fields.fillOptionsLines(Result.packedCompilationOptionsJson);
fields.fillEnvironmentsLines(Result.packedRunEnvironmentValuesJson);
}
@Override
public void ProcessResult() {
@@ -48,6 +49,7 @@ public class DVMSettingsDialog extends DBObjectDialog<DVMSettings, DVMSettingsFi
Result.Is_DVM_STAT = fields.cbDvmStat.isSelected() ? 1 : 0;
//--
Result.packedCompilationOptionsJson = Utils_.gson.toJson(fields.optionsLines.toJson());
Result.packedRunEnvironmentValuesJson= Utils_.gson.toJson(fields.environmentsLines.toJson());
}
@Override
public void SetReadonly() {

View File

@@ -1,17 +1,16 @@
package _VisualDVM.TestingSystem.DVM.DVMSettings.UI;
import Common.Database.Objects.DBObject;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Utils.Utils_;
import Common.Visual.TextField.StyledTextField;
import Common.Visual.UI;
import Common.Visual.Windows.Dialog.DialogFields;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.CompilerEnvironment.EnvironmentsLine;
import _VisualDVM.GlobalData.CompilerEnvironment.EnvironmentsLinesSet;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsSetJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson;
import _VisualDVM.GlobalData.CompilerOption.OptionsLine;
import _VisualDVM.GlobalData.CompilerOption.OptionsLinesSet;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;
import java.awt.*;
@@ -34,15 +33,11 @@ public class DVMSettingsFields implements DialogFields {
private JSplitPane SC2;
//
public OptionsLinesSet optionsLines;
public EnvironmentsLinesSet environmentsLines;
//
public void fillOptionsLines(String packed) {
optionsLines =new OptionsLinesSet();
OptionsSetJson optionsSetJson = packed.isEmpty() ? new OptionsSetJson() : Utils_.gson.fromJson(packed, OptionsSetJson.class);
for (OptionsJson optionsJson: optionsSetJson.values) {
OptionsLine optionsLine =new OptionsLine(optionsJson);
optionsLine.id = optionsLines.maxId++;
optionsLines.put(optionsLine.id, optionsLine);
}
optionsLines= new OptionsLinesSet(optionsSetJson);
//-
//-Это нужно для того, чтобы старый меню бар был пересоздан. бары создаются один раз в целях экономии памяти.
// В противном случае бар его проходы добавления редактирования и удаления
@@ -52,6 +47,16 @@ public class DVMSettingsFields implements DialogFields {
optionsLines.mountUI(optionsLinesPanel);
optionsLines.ShowUI();
}
public void fillEnvironmentsLines(String packed) {
EnvironmentsSetJson environmentsSetJson = packed.isEmpty() ? new EnvironmentsSetJson() : Utils_.gson.fromJson(packed, EnvironmentsSetJson.class);
environmentsLines =new EnvironmentsLinesSet(environmentsSetJson);
//-
if (MainModule_.instance.getUI().menuBars.containsKey(EnvironmentsLinesSet.class))
MainModule_.instance.getUI().menuBars.remove(EnvironmentsLinesSet.class);
environmentsLines.mountUI(environmentsLinesPanel);
environmentsLines.ShowUI();
}
public DVMSettingsFields() {
sMinDimProc.setModel(new SpinnerNumberModel(1, 0, 128, 1));
sMaxDimProc.setModel(new SpinnerNumberModel(1, 0, 128, 1));