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

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

@@ -6,6 +6,12 @@ import _VisualDVM.ComponentsServer.Component.Sapfor.Sapfor;
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsSetJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group;
@@ -15,6 +21,10 @@ import _VisualDVM.TestingSystem.Common.Test.TestDBTable;
import _VisualDVM.TestingSystem.Common.TestFile.TestFile;
import _VisualDVM.TestingSystem.Common.TestFile.TestFilesDBTable;
import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOption.DVMCompilationOption;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOption.DVMCompilationOptionsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOptionsSet.DVMCompilationOptionsSet;
import _VisualDVM.TestingSystem.DVM.DVMCompilationOptionsSet.DVMCompilationOptionsSetsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfigurationDBTable;
import _VisualDVM.TestingSystem.DVM.DVMConfigurationGroup.DVMConfigurationGroup;
@@ -23,10 +33,15 @@ import _VisualDVM.TestingSystem.DVM.DVMConfigurationSettings.DVMConfigurationSet
import _VisualDVM.TestingSystem.DVM.DVMConfigurationSettings.DVMConfigurationSettingsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMConfigurationTest.DVMConfigurationTest;
import _VisualDVM.TestingSystem.DVM.DVMConfigurationTest.DVMConfigurationTestsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMEnvironment.DVMEnvironment;
import _VisualDVM.TestingSystem.DVM.DVMEnvironment.DVMEnvironmentsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMEnvironmentsSet.DVMEnvironmentsSet;
import _VisualDVM.TestingSystem.DVM.DVMEnvironmentsSet.DVMEnvironmentsSetsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import _VisualDVM.TestingSystem.DVM.DVMPackageConfiguration.DVMPackageConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMPackageConfiguration.DVMPackageConfigurationsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettingsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
@@ -61,6 +76,10 @@ public class TestsDatabase extends SQLiteDatabase {
public TestFilesDBTable testsFiles;
//---
public DVMSettingsDBTable dvmSettings;
public DVMCompilationOptionsSetsDBTable dvmCompilationOptionsSets;
public DVMCompilationOptionsDBTable dvmCompilationOptions;
public DVMEnvironmentsSetsDBTable dvmEnvironmentsSets;
public DVMEnvironmentsDBTable dvmEnvironments;
public DVMConfigurationDBTable dvmConfigurations;
public DVMConfigurationGroupsDBTable dvmConfigurationGroups;
public DVMConfigurationTestsDBTable dvmConfigurationTests;
@@ -91,6 +110,12 @@ public class TestsDatabase extends SQLiteDatabase {
addTable(testsFiles = new TestFilesDBTable());
//--
addTable(dvmSettings = new DVMSettingsDBTable());
//--
addTable(dvmCompilationOptionsSets = new DVMCompilationOptionsSetsDBTable());
addTable(dvmCompilationOptions = new DVMCompilationOptionsDBTable());
addTable(dvmEnvironmentsSets =new DVMEnvironmentsSetsDBTable());
addTable(dvmEnvironments = new DVMEnvironmentsDBTable());
//---
addTable(dvmConfigurations = new DVMConfigurationDBTable());
addTable(dvmConfigurationGroups = new DVMConfigurationGroupsDBTable());
addTable(dvmConfigurationTests = new DVMConfigurationTestsDBTable());
@@ -390,141 +415,6 @@ public class TestsDatabase extends SQLiteDatabase {
for (TestFile file : files)
Delete(file);
}
public void Patch() throws Exception {
/*
Vector<DVMPackageConfiguration> dvmPackageConfigurations_ = new Vector<>();
for (DVMPackage dvmPackage: dvmPackages.Data.values()){
if (!dvmPackage.packedConfigurationsJson.isEmpty()) {
ConfigurationsJson configurationsJson = Utils_.gson.fromJson(dvmPackage.packedConfigurationsJson, ConfigurationsJson.class);
for (ConfigurationJson configurationJson : configurationsJson.array) {
DVMPackageConfiguration dvmPackageConfiguration = new DVMPackageConfiguration();
dvmPackageConfiguration.dvmpackage_id = dvmPackage.id;
dvmPackageConfiguration.dvmconfiguration_id = configurationJson.id;
dvmPackageConfiguration.description =configurationJson.description;
dvmPackageConfigurations_.add(dvmPackageConfiguration);
}
}
}
BeginTransaction();
for (DVMPackageConfiguration dvmPackageConfiguration: dvmPackageConfigurations_)
Insert(dvmPackageConfiguration);
Commit();
//--
Vector<SapforPackageConfiguration> sapforPackageConfigurations_ = new Vector<>();
for (SapforPackage sapforPackage: sapforPackages.Data.values()){
if (!sapforPackage.packedConfigurationsJson.isEmpty()) {
ConfigurationsJson configurationsJson = Utils_.gson.fromJson(sapforPackage.packedConfigurationsJson, ConfigurationsJson.class);
for (ConfigurationJson configurationJson : configurationsJson.array) {
SapforPackageConfiguration sapforPackageConfiguration = new SapforPackageConfiguration();
sapforPackageConfiguration.sapforpackage_id = sapforPackage.id;
sapforPackageConfiguration.sapforconfiguration_id = configurationJson.id;
sapforPackageConfiguration.description =configurationJson.description;
sapforPackageConfigurations_.add(sapforPackageConfiguration);
}
}
}
BeginTransaction();
for (SapforPackageConfiguration sapforPackageConfiguration: sapforPackageConfigurations_)
Insert(sapforPackageConfiguration);
Commit();
*/
/*
Vector<DVMConfigurationGroup> DVMConfigurationGroups=new Vector<>();
//группы dvm конфигураций
for (DVMConfiguration dvmConfiguration: dvmConfigurations.Data.values()){
GroupsJson groupsJson = Utils_.gson.fromJson(dvmConfiguration.packedGroupsJson, GroupsJson.class);
for (GroupJson groupJson: groupsJson.array){
DVMConfigurationGroup dvmConfigurationGroup = new DVMConfigurationGroup();
dvmConfigurationGroup.group_id = groupJson.id;
dvmConfigurationGroup.dvmconfiguration_id = dvmConfiguration.id;
DVMConfigurationGroups.add(dvmConfigurationGroup);
}
}
BeginTransaction();
for (DVMConfigurationGroup dvmConfigurationGroup: DVMConfigurationGroups)
Insert(dvmConfigurationGroup);
Commit();
//---
Vector<SapforConfigurationGroup> SapforConfigurationGroups =new Vector<>();
//группы sapfor конфигураций
for (SapforConfiguration sapforConfiguration: sapforConfigurations.Data.values()){
GroupsJson groupsJson = Utils_.gson.fromJson(sapforConfiguration.packedGroupsJson, GroupsJson.class);
for (GroupJson groupJson: groupsJson.array){
SapforConfigurationGroup sapforConfigurationGroup = new SapforConfigurationGroup();
sapforConfigurationGroup.group_id = groupJson.id;
sapforConfigurationGroup.sapforconfiguration_id = sapforConfiguration.id;
SapforConfigurationGroups.add(sapforConfigurationGroup);
}
}
BeginTransaction();
for (SapforConfigurationGroup sapforConfigurationGroup: SapforConfigurationGroups)
Insert(sapforConfigurationGroup);
Commit();
//тесты двм конфигураций
Vector<DVMConfigurationTest> DvmConfigurationTests_ = new Vector<>();
for (DVMConfiguration configuration: dvmConfigurations.Data.values()){
TestsJson testsJson = Utils_.gson.fromJson(configuration.packedTestsJson,TestsJson.class);
for (TestJson testJson: testsJson.array){
DVMConfigurationTest test= new DVMConfigurationTest();
test.test_id=testJson.id;
test.dvmconfiguration_id=configuration.id;
DvmConfigurationTests_.add(test);
}
}
BeginTransaction();
for (DVMConfigurationTest test:DvmConfigurationTests_)
Insert(test);
Commit();
//-
//тесты сапфор конфигураций
Vector<SapforConfigurationTest> SapforConfigurationTests_ = new Vector<>();
for (SapforConfiguration configuration: sapforConfigurations.Data.values()){
TestsJson testsJson = Utils_.gson.fromJson(configuration.packedTestsJson,TestsJson.class);
for (TestJson testJson: testsJson.array){
SapforConfigurationTest test= new SapforConfigurationTest();
test.test_id=testJson.id;
test.sapforconfiguration_id=configuration.id;
SapforConfigurationTests_.add(test);
}
}
BeginTransaction();
for (SapforConfigurationTest test: SapforConfigurationTests_)
Insert(test);
Commit();
//--
Vector<DVMConfigurationSettings> DvmConfigurationSettings_ = new Vector<>();
for (DVMConfiguration configuration: dvmConfigurations.Data.values()){
SettingsArrayJson settingsArrayJson = Utils_.gson.fromJson(configuration.packedSettingsJson,SettingsArrayJson.class);
for (SettingsJson settingsJson: settingsArrayJson.array){
DVMConfigurationSettings Settings= new DVMConfigurationSettings();
Settings.dvmsettings_id=settingsJson.id;
Settings.dvmconfiguration_id=configuration.id;
DvmConfigurationSettings_.add(Settings);
}
}
BeginTransaction();
for (DVMConfigurationSettings Settings:DvmConfigurationSettings_)
Insert(Settings);
Commit();
//-
Vector<SapforConfigurationSettings> SapforConfigurationSettings_ = new Vector<>();
for (SapforConfiguration configuration: sapforConfigurations.Data.values()){
SettingsArrayJson settingsArrayJson = Utils_.gson.fromJson(configuration.packedSettingsJson,SettingsArrayJson.class);
for (SettingsJson settingsJson: settingsArrayJson.array){
SapforConfigurationSettings Settings= new SapforConfigurationSettings();
Settings.sapforsettings_id=settingsJson.id;
Settings.sapforconfiguration_id=configuration.id;
SapforConfigurationSettings_.add(Settings);
}
}
BeginTransaction();
for (SapforConfigurationSettings Settings:SapforConfigurationSettings_)
Insert(Settings);
Commit();
//-
*/
}
public void saveDVMPackageConfigurations(DVMPackage dvmPackage) throws Exception {
for (DVMPackageConfiguration packageConfiguration : dvmPackage.configurations) {
packageConfiguration.dvmpackage_id = dvmPackage.id;
@@ -644,4 +534,166 @@ public class TestsDatabase extends SQLiteDatabase {
}
return res;
}
//--
public OptionsSetJson convertOptionsToJson(DVMSettings dvmSettings_in) {
OptionsSetJson res = new OptionsSetJson();
if (dvmSettings_in.id != CommonConstants.Nan) {
Vector<DVMCompilationOptionsSet> optionsSets = getVectorByFK(dvmSettings_in, DVMCompilationOptionsSet.class);
for (DVMCompilationOptionsSet optionsSet: optionsSets){
Vector<DVMCompilationOption> options = getVectorByFK(optionsSet, DVMCompilationOption.class);
OptionsJson optionsJson = new OptionsJson();
for (DVMCompilationOption option:options){
optionsJson.values.add(new OptionJson(option.name,option.value));
}
res.values.add(optionsJson);
}
}
return res;
}
public void DeleteDVMSettingsOptions(DVMSettings dvmSettings) throws Exception{
Vector<DVMCompilationOptionsSet> optionsSets = getVectorByFK(dvmSettings, DVMCompilationOptionsSet.class);
for (DVMCompilationOptionsSet optionsSet: optionsSets){
DeleteDependencies(optionsSet);
Delete(optionsSet);
}
}
public void InsertDVMSettingsOptions(DVMSettings dvmSettings) throws Exception{
OptionsSetJson optionsSetJson = Utils_.gson.fromJson(dvmSettings.packedCompilationOptionsJson, OptionsSetJson.class);
for (OptionsJson optionsJson: optionsSetJson.values){
DVMCompilationOptionsSet optionsSet = new DVMCompilationOptionsSet(dvmSettings);
Insert(optionsSet);
for (OptionJson optionJson: optionsJson.values){
DVMCompilationOption option = new DVMCompilationOption();
option.dvmcompilationoptionsset_id=optionsSet.id;
option.name = optionJson.name;
option.value = optionJson.value;
Insert(option);
}
}
}
public void DeleteDVMSettingsEnvironments(DVMSettings dvmSettings) throws Exception{
Vector<DVMEnvironmentsSet> environmentsSets = getVectorByFK(dvmSettings, DVMEnvironmentsSet.class);
for (DVMEnvironmentsSet environmentsSet: environmentsSets){
DeleteDependencies(environmentsSet);
Delete(environmentsSet);
}
}
public void InsertDVMSettingsEnvironments(DVMSettings dvmSettings) throws Exception{
EnvironmentsSetJson environmentsSetJson = Utils_.gson.fromJson(dvmSettings.packedRunEnvironmentValuesJson, EnvironmentsSetJson.class);
for (EnvironmentsJson environmentsJson: environmentsSetJson.values){
DVMEnvironmentsSet environmentsSet = new DVMEnvironmentsSet(dvmSettings);
Insert(environmentsSet);
for (EnvironmentJson environmentJson: environmentsJson.values){
DVMEnvironment environment = new DVMEnvironment();
environment.dvmenvironmentsset_id=environmentsSet.id;
environment.name = environmentJson.name;
environment.value = environmentJson.value;
Insert(environment);
}
}
}
//--
public void Patch() throws Exception {
/*
Vector<DVMCompilationOptionsSet> sets = new Vector<>();
for (DVMSettings dvm_settings : dvmSettings.Data.values()) {
OptionsSetJson optionsSetJson = Utils_.gson.fromJson(dvm_settings.packedCompilationOptionsJson, OptionsSetJson.class);
for (OptionsJson optionsJson : optionsSetJson.values) {
DVMCompilationOptionsSet set = new DVMCompilationOptionsSet(dvm_settings);
set.options = new Vector<>();
for (OptionJson optionJson : optionsJson.values) {
set.options.add(new DVMCompilationOption(optionJson.name, optionJson.value));
}
sets.add(set);
}
}
BeginTransaction();
for (DVMCompilationOptionsSet set : sets) {
Insert(set);
for (DVMCompilationOption option : set.options) {
option.dvmcompilationoptionsset_id = set.id;
Insert(option);
}
}
Commit();
*/
/*
Vector<DVMEnvironmentsSet> sets = new Vector<>();
for (DVMSettings dvm_settings : dvmSettings.Data.values()) {
EnvironmentsSetJson environmentsSetJson = Utils_.gson.fromJson(dvm_settings.packedRunEnvironmentValuesJson, EnvironmentsSetJson.class);
for (EnvironmentsJson environmentsJson : environmentsSetJson.values) {
DVMEnvironmentsSet set = new DVMEnvironmentsSet(dvm_settings);
set.environments = new Vector<>();
for (EnvironmentJson environmentJson : environmentsJson.values) {
set.environments.add(new DVMEnvironment(environmentJson.name, environmentJson.value));
}
sets.add(set);
}
}
BeginTransaction();
for (DVMEnvironmentsSet set : sets) {
Insert(set);
for (DVMEnvironment option : set.environments) {
option.dvmenvironmentsset_id = set.id;
Insert(option);
}
}
Commit();
*/
}
public static String printOptionsLine(Vector<DVMCompilationOption> options){
Vector<String> res = new Vector<>();
for (DVMCompilationOption option: options)
res.add(option.print());
return String.join(" ", res);
}
public static String printEnvironmentsLine(Vector<DVMEnvironment> environments){
Vector<String> res = new Vector<>();
for (DVMEnvironment environment: environments)
res.add(environment.print());
return String.join(" ", res);
}
public Vector<Pair<String, String>> getTasksParameters(DVMSettings dvmSettings_in) {
//уравниваем количество наборов опций и окружений и сопоставляем 1 к 1
Vector<Pair<String, String>> res = new Vector<>();
Vector<DVMCompilationOptionsSet> optionsSets = getVectorByFK(dvmSettings_in, DVMCompilationOptionsSet.class);
Vector<DVMEnvironmentsSet> environmentsSets = getVectorByFK(dvmSettings_in, DVMEnvironmentsSet.class);
//--
for (int i = 0; i < optionsSets.size(); ++i) {
Vector<DVMCompilationOption> options = getVectorByFK(optionsSets.get(i), DVMCompilationOption.class);
Vector<DVMEnvironment> environments = getVectorByFK(environmentsSets.get(i), DVMEnvironment.class);
String optionsLine = printOptionsLine(options);
String environmentsLine = (i < environmentsSets.size()) ? printEnvironmentsLine(environments) : "";
res.add(new Pair<>(
optionsLine,
environmentsLine));
}
if (optionsSets.size() < environmentsSets.size()) {
for (int i = optionsSets.size(); i < environmentsSets.size(); ++i) {
res.add(new Pair<>(
"",
printEnvironmentsLine(getVectorByFK(environmentsSets.get(i), DVMEnvironment.class))
));
}
}
return res;
}
public EnvironmentsSetJson convertEnvironmentsToJson(DVMSettings dvmSettings_in) {
EnvironmentsSetJson res = new EnvironmentsSetJson();
if (dvmSettings_in.id != CommonConstants.Nan) {
Vector<DVMEnvironmentsSet> environmentsSets = getVectorByFK(dvmSettings_in, DVMEnvironmentsSet.class);
for (DVMEnvironmentsSet environmentsSet: environmentsSets){
Vector<DVMEnvironment> environments = getVectorByFK(environmentsSet, DVMEnvironment.class);
EnvironmentsJson environmentsJson = new EnvironmentsJson();
for (DVMEnvironment option:environments){
environmentsJson.values.add(new EnvironmentJson(option.name,option.value));
}
res.values.add(environmentsJson);
}
}
return res;
}
}