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

This commit is contained in:
2025-03-25 01:56:48 +03:00
parent a60ed8f661
commit 7ef9ee0d5c
24 changed files with 480 additions and 206 deletions

View File

@@ -1,62 +1,41 @@
package _VisualDVM.ServerObjectsCache;
import Common.Utils.Utils_;
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.Global;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOption.DVMCompilationOption;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOptionsSet.DVMCompilationOptionsSet;
import _VisualDVM.TestingSystem.DVM.DVMEnvironment.DVMEnvironment;
import _VisualDVM.TestingSystem.DVM.DVMEnvironmentsSet.DVMEnvironmentsSet;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import javafx.util.Pair;
import java.util.Vector;
public class DVMSettingsCache extends VisualCache {
public OptionsSetJson optionsSetJson = null;
public EnvironmentsSetJson environmentsSetJson = null;
//--
public String optionsSummary = null;
public String environmentsSummary = null;
//--
public DVMSettingsCache(DVMSettings dvmSettings) {
//-->>
if (dvmSettings.packedCompilationOptionsJson.isEmpty())
optionsSetJson = new OptionsSetJson();
else
optionsSetJson = Utils_.gson.fromJson(dvmSettings.packedCompilationOptionsJson, OptionsSetJson.class);
//-->>
if (dvmSettings.packedRunEnvironmentValuesJson.isEmpty())
environmentsSetJson = new EnvironmentsSetJson();
else
environmentsSetJson = Utils_.gson.fromJson(dvmSettings.packedRunEnvironmentValuesJson, EnvironmentsSetJson.class);
//--
Vector<String> optionsSummary_ = new Vector<>();
for (OptionsJson optionsJson : optionsSetJson.values) {
optionsSummary_.add(optionsJson.toLine());
Vector<DVMCompilationOptionsSet> optionsSets = Global.testingServer.db.getVectorByFK(dvmSettings, DVMCompilationOptionsSet.class);
for (DVMCompilationOptionsSet optionsSet: optionsSets){
Vector<String> optionsValues = new Vector<>();
Vector<DVMCompilationOption> options = Global.testingServer.db.getVectorByFK(optionsSet, DVMCompilationOption.class);
for (DVMCompilationOption option: options){
optionsValues.add(option.print());
}
optionsSummary_.add(String.join(" ", optionsValues));
}
optionsSummary = String.join(";\n", optionsSummary_);
//-->>
Vector<String> environmentsSummary_ = new Vector<>();
for (EnvironmentsJson environmentsJson : environmentsSetJson.values) {
environmentsSummary_.add(environmentsJson.toLine());
Vector<DVMEnvironmentsSet> environmentsSets = Global.testingServer.db.getVectorByFK(dvmSettings,DVMEnvironmentsSet.class);
for (DVMEnvironmentsSet environmentsSet: environmentsSets){
Vector<String> environmentsValues = new Vector<>();
Vector<DVMEnvironment> environments = Global.testingServer.db.getVectorByFK(environmentsSet, DVMEnvironment.class);
for (DVMEnvironment environment: environments){
environmentsValues.add(environment.print());
}
environmentsSummary_.add(String.join(" ", environmentsValues));
}
environmentsSummary = String.join(";\n", environmentsSummary_);
}
public Vector<Pair<String, String>> getTasksParameters() {
//уравниваем количество наборов опций и окружений и сопоставляем 1 к 1
Vector<Pair<String, String>> res = new Vector<>();
for (int i = 0; i < optionsSetJson.values.size(); ++i) {
String optionsLine = optionsSetJson.values.get(i).toLine();
String environmentsLine = (i < environmentsSetJson.values.size()) ?
environmentsSetJson.values.get(i).toLine() : "";
res.add(new Pair<>(
optionsLine,
environmentsLine));
}
if (optionsSetJson.values.size() < environmentsSetJson.values.size()) {
for (int i = optionsSetJson.values.size(); i < environmentsSetJson.values.size(); ++i) {
res.add(new Pair<>(
"",
environmentsSetJson.values.get(i).toLine()
));
}
}
return res;
}
}