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

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

13
.idea/workspace.xml generated
View File

@@ -7,12 +7,23 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/EnvironmentsLine.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/EnvironmentsLinesSet.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/Json/EnvironmentJson.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/Json/EnvironmentsJson.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/Json/EnvironmentsSetJson.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/UI/EnvironmentsLinesForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/OptionsLine.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/OptionsLine.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Compiler/Compiler.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Compiler/Compiler.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/CompilerEnvironmentsSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerEnvironment/RawCompilerEnvironmentsSet.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/OptionsLinesSet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/OptionsLinesSet.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/UI/OptionsLinesForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/UI/OptionsLinesForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/UI/OptionsLinesForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/CompilerOption/UI/OptionsLinesForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PickCompilerEnvironmentsForTesting.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PickCompilerEnvironmentsForTesting.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/DVMSettings.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/DVMSettings.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/DVMSettings.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/DVMSettings.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsDialog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsDialog.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsDialog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsDialog.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsFields.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsFields.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsFields.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsFields.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Validators/DVMHelpParser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Validators/DVMHelpParser.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -28,9 +28,9 @@
"CheckTestingIntervalSeconds": 10, "CheckTestingIntervalSeconds": 10,
"AutoCheckTesting": true, "AutoCheckTesting": true,
"EmailOnTestingProgress": true, "EmailOnTestingProgress": true,
"lastMachineId": 13, "lastMachineId": 28,
"lastUserId": 34, "lastUserId": 36,
"lastCompilerId": 52, "lastCompilerId": 109,
"RegisterOn": false, "RegisterOn": false,
"SpacesOn": false, "SpacesOn": false,
"EmptyLinesOn": false, "EmptyLinesOn": false,

View File

@@ -1,7 +1,7 @@
package _VisualDVM.GlobalData.Compiler; package _VisualDVM.GlobalData.Compiler;
import Common.Database.Objects.iDBObject; import Common.Database.Objects.iDBObject;
import Common.Utils.Utils_; import Common.Utils.Utils_;
import _VisualDVM.GlobalData.CompilerEnvironment.CompilerEnvironmentsSet; import _VisualDVM.GlobalData.CompilerEnvironment.RawCompilerEnvironmentsSet;
import _VisualDVM.GlobalData.CompilerOption.RawCompilerOptionsSet; import _VisualDVM.GlobalData.CompilerOption.RawCompilerOptionsSet;
import _VisualDVM.GlobalData.Machine.Machine; import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.ProjectData.Files.DBProjectFile; import _VisualDVM.ProjectData.Files.DBProjectFile;
@@ -30,7 +30,7 @@ public class Compiler extends iDBObject {
public String versionText = ""; public String versionText = "";
//- //-
public RawCompilerOptionsSet options = new RawCompilerOptionsSet(); public RawCompilerOptionsSet options = new RawCompilerOptionsSet();
public CompilerEnvironmentsSet environments = new CompilerEnvironmentsSet(); public RawCompilerEnvironmentsSet environments = new RawCompilerEnvironmentsSet();
//- //-
public Compiler() { public Compiler() {
} }

View File

@@ -1,23 +0,0 @@
package _VisualDVM.GlobalData.CompilerEnvironment;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import _VisualDVM.GlobalData.CompilerEnvironment.UI.CompilerEnvironmentsForm;
import javax.swing.*;
public class CompilerEnvironmentsSet extends DataSet<String, CompilerEnvironment> {
public CompilerEnvironmentsSet() {
super(String.class, CompilerEnvironment.class);
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new CompilerEnvironmentsForm(this, mountPanel);
}
@Override
public String getPluralDescription() {
return "переменные окружения";
}
@Override
public String getSingleDescription() {
return "переменная окружения";
}
}

View File

@@ -0,0 +1,16 @@
package _VisualDVM.GlobalData.CompilerEnvironment;
import Common.Database.Objects.iDBObject;
import Common.Utils.Utils_;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
public class EnvironmentsLine extends iDBObject {
public EnvironmentsJson json;
public EnvironmentsLine(EnvironmentsJson json_in){
json = json_in;
}
@Override
public String getBDialogName() {
return Utils_.Brackets(json.toLine());
}
}

View File

@@ -0,0 +1,42 @@
package _VisualDVM.GlobalData.CompilerEnvironment;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsSetJson;
import _VisualDVM.GlobalData.CompilerEnvironment.UI.EnvironmentsLinesForm;
import _VisualDVM.GlobalData.CompilerOption.OptionsLine;
import javax.swing.*;
public class EnvironmentsLinesSet extends DataSet<Integer, EnvironmentsLine> {
public int maxId = 1;
public EnvironmentsLinesSet() {
super(Integer.class, EnvironmentsLine.class);
}
public EnvironmentsLinesSet(EnvironmentsSetJson json) {
super(Integer.class, EnvironmentsLine.class);
for (EnvironmentsJson environmentsJson: json.values) {
EnvironmentsLine environmentsLine =new EnvironmentsLine(environmentsJson);
environmentsLine.id = maxId++;
put(environmentsLine.id, environmentsLine);
}
}
@Override
public String getSingleDescription() {
return "набор переменных окружения";
}
@Override
public String getPluralDescription() {
return "наборы переменных окружения";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new EnvironmentsLinesForm(this,mountPanel);
}
public EnvironmentsSetJson toJson(){
EnvironmentsSetJson res= new EnvironmentsSetJson();
for (EnvironmentsLine environmentsLine: Data.values()){
res.values.add(environmentsLine.json);
}
return res;
}
}

View File

@@ -0,0 +1,14 @@
package _VisualDVM.GlobalData.CompilerEnvironment.Json;
import _VisualDVM.GlobalData.CompilerEnvironment.CompilerEnvironment;
import _VisualDVM.GlobalData.CompilerOption.CompilerOption;
import com.google.gson.annotations.Expose;
public class EnvironmentJson {
@Expose
public String name; //в том числе и с разделителем если есть. поиск по startswith
@Expose
public String value; //значение без кавычек
public EnvironmentJson(CompilerEnvironment src){
name= src.name;
value = src.value;
}
}

View File

@@ -0,0 +1,18 @@
package _VisualDVM.GlobalData.CompilerEnvironment.Json;
import Common.Utils.Utils_;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionJson;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class EnvironmentsJson {
@Expose
public List<EnvironmentJson> values = new Vector<>();
public String toLine(){
Vector<String> res = new Vector<>();
for (EnvironmentJson environmentJson: values){
res.add(environmentJson.name+"="+Utils_.DQuotes(environmentJson.value));
}
return String.join(" ", res);
}
}

View File

@@ -0,0 +1,10 @@
package _VisualDVM.GlobalData.CompilerEnvironment.Json;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class EnvironmentsSetJson {
@Expose
public List<EnvironmentsJson> values = new Vector<>();
}

View File

@@ -0,0 +1,50 @@
package _VisualDVM.GlobalData.CompilerEnvironment;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerEnvironment.UI.CompilerEnvironmentsForm;
import _VisualDVM.GlobalData.CompilerOption.CompilerOption;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionJson;
import _VisualDVM.GlobalData.EnvironmentValue.EnvironmentValue;
import javax.swing.*;
public class RawCompilerEnvironmentsSet extends DataSet<String, CompilerEnvironment> {
public RawCompilerEnvironmentsSet() {
super(String.class, CompilerEnvironment.class);
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new CompilerEnvironmentsForm(this, mountPanel);
}
@Override
public String getPluralDescription() {
return "переменные окружения";
}
@Override
public String getSingleDescription() {
return "переменная окружения";
}
public CompilerEnvironment findByJson(EnvironmentJson json){
for (CompilerEnvironment compilerEnvironment: Data.values()){
if (json.name.equals(compilerEnvironment.name))
return compilerEnvironment;
}
return null;
}
public void Reset() {
for (CompilerEnvironment environment: Data.values()){
environment.select(false);
environment.value="";
}
}
public void Synchronize(EnvironmentsJson json) {
for (EnvironmentJson environmentJson: json.values){
CompilerEnvironment compilerEnvironment = findByJson(environmentJson);
if (compilerEnvironment!=null){
compilerEnvironment.select(true);
compilerEnvironment.value = environmentJson.value;
}
}
}
}

View File

@@ -0,0 +1,145 @@
package _VisualDVM.GlobalData.CompilerEnvironment.UI;
import Common.Database.Tables.DataSet;
import Common.Passes.Pass;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnInfo;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.CompilerEnvironment.EnvironmentsLine;
import _VisualDVM.GlobalData.CompilerEnvironment.EnvironmentsLinesSet;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.GlobalData.CompilerOption.OptionsLine;
import _VisualDVM.GlobalData.CompilerOption.OptionsLinesSet;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;
public class EnvironmentsLinesForm extends DataSetControlForm<EnvironmentsLine> {
public EnvironmentsLinesForm(DataSet<?, EnvironmentsLine> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
protected boolean isPKVisible() {
return false;
}
@Override
protected void createColumns() {
AddColumns(new ColumnInfo<EnvironmentsLine>("") {
@Override
public Object getFieldAt(EnvironmentsLine object) {
return object.json.toLine();
}
});
}
@Override
protected DataMenuBar createMenuBar() {
DataMenuBar res = super.createMenuBar();
res.addPasses(
new Pass<EnvironmentsLine>(){
@Override
public String getIconPath() {
return "/Common/icons/RedAdd.png";
}
@Override
public String getDescription() {
return "Добавление набора переменных окружения";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
Pass pass = Global.mainModule.getPass(PassCode.PickCompilerEnvironmentsForTesting);
if (pass.Do(Global.mainModule.getDb().compilers.getUI().getCurrent())){
target= new EnvironmentsLine((EnvironmentsJson) pass.target);
target.id = ((EnvironmentsLinesSet)dataSource).maxId++;
return true;
}
return false;
}
@Override
protected void body() throws Exception {
dataSource.put(target.getPK(), target);
}
@Override
protected void showDone() throws Exception {
dataSource.ShowUI(target.getPK());
}
},
new Pass<EnvironmentsLine>(){
@Override
public String getIconPath() {
return "/Common/icons/Edit.png";
}
@Override
public String getDescription() {
return "Редактирование набора переменных окружения";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (dataSource.getUI().CheckCurrent(Log)) {
target = dataSource.getUI().getCurrent();
Pass pass = Global.mainModule.getPass(PassCode.PickCompilerEnvironmentsForTesting);
if (pass.Do(Global.mainModule.getDb().compilers.getUI().getCurrent(), target.json)){
return true;
}
}
return false;
}
@Override
protected void body() throws Exception {
}
@Override
protected void showFinish() throws Exception {
dataSource.ShowUI(target.getPK());
}
},
new Pass<EnvironmentsLine>(){
@Override
public String getIconPath() {
return "/Common/icons/Delete.png";
}
@Override
public String getDescription() {
return "Удаление набора переменных окружения";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (dataSource.getUI().CheckCurrent(Log)) {
target = dataSource.getUI().getCurrent();
return dataSource.getUI().ShowDeleteObjectDialog(target);
}
return false;
}
@Override
protected void showPreparation() throws Exception {
dataSource.ClearUI();
}
@Override
protected void body() throws Exception {
dataSource.Data.remove(target.getPK());
}
@Override
protected void showFinish() throws Exception {
dataSource.ShowUI();
}
}
);
return res;
}
}

View File

@@ -1,6 +1,7 @@
package _VisualDVM.GlobalData.CompilerOption; package _VisualDVM.GlobalData.CompilerOption;
import Common.Database.Tables.DataSet; import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm; import Common.Visual.DataSetControlForm;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson; import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson;
import _VisualDVM.GlobalData.CompilerOption.UI.OptionsLinesForm; import _VisualDVM.GlobalData.CompilerOption.UI.OptionsLinesForm;
@@ -10,6 +11,14 @@ public class OptionsLinesSet extends DataSet<Integer, OptionsLine> {
public OptionsLinesSet() { public OptionsLinesSet() {
super(Integer.class, OptionsLine.class); super(Integer.class, OptionsLine.class);
} }
public OptionsLinesSet(OptionsSetJson json){
super(Integer.class, OptionsLine.class);
for (OptionsJson optionsJson: json.values) {
OptionsLine optionsLine =new OptionsLine(optionsJson);
optionsLine.id = maxId++;
put(optionsLine.id, optionsLine);
}
}
@Override @Override
public String getSingleDescription() { public String getSingleDescription() {
return "набор опций компиляции"; return "набор опций компиляции";

View File

@@ -117,7 +117,6 @@ public class OptionsLinesForm extends DataSetControlForm<OptionsLine> {
} }
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
System.out.println("datasource");
if (dataSource.getUI().CheckCurrent(Log)) { if (dataSource.getUI().CheckCurrent(Log)) {
target = dataSource.getUI().getCurrent(); target = dataSource.getUI().getCurrent();
return dataSource.getUI().ShowDeleteObjectDialog(target); return dataSource.getUI().ShowDeleteObjectDialog(target);

View File

@@ -6,28 +6,36 @@ import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.Compiler.Compiler;
import _VisualDVM.GlobalData.Compiler.CompilerType; import _VisualDVM.GlobalData.Compiler.CompilerType;
import _VisualDVM.GlobalData.CompilerEnvironment.CompilerEnvironment; import _VisualDVM.GlobalData.CompilerEnvironment.CompilerEnvironment;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentJson;
import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsJson;
import _VisualDVM.GlobalData.CompilerEnvironment.UI.CompilerEnvironmentsFields; import _VisualDVM.GlobalData.CompilerEnvironment.UI.CompilerEnvironmentsFields;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.Passes.PassCode; import _VisualDVM.Passes.PassCode;
import javax.swing.*; import javax.swing.*;
import java.util.Vector; import java.util.Vector;
public class PickCompilerEnvironmentsForTesting extends Pass<String> { public class PickCompilerEnvironmentsForTesting extends Pass<EnvironmentsJson> {
Compiler compiler = null; Compiler compiler = null;
//- //-
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
target = new EnvironmentsJson();
if (args[0] == null) { if (args[0] == null) {
Log.Writeln_("Отсутствует текущий компилятор. Выбор переменных окружения недоступен."); Log.Writeln_("Отсутствует текущий компилятор. Выбор флагов недоступен.");
return false; return false;
} }
target = ""; compiler = (Compiler) args[0];
compiler = Global.mainModule.getDb().compilers.getUI().getCurrent();
if (!compiler.type.equals(CompilerType.dvm)) { if (!compiler.type.equals(CompilerType.dvm)) {
Log.Writeln_("Выбор переменных окружения возможен только для DVM компилятора,"); Log.Writeln_("Выбор переменных окружения возможен только для DVM компилятора,");
return false; return false;
} }
if (!(compiler.helpLoaded || Global.mainModule.getPass(PassCode.ShowCompilerHelp).Do(compiler, false))) if (!(compiler.helpLoaded || Global.mainModule.getPass(PassCode.ShowCompilerHelp).Do(compiler, false)))
return false; return false;
compiler.environments.Reset();
if (args.length>1){
target = (EnvironmentsJson) args[1];
compiler.environments.Synchronize(target);
}
Dialog<String, CompilerEnvironmentsFields> dialog = Dialog<String, CompilerEnvironmentsFields> dialog =
new Dialog<String, CompilerEnvironmentsFields>(CompilerEnvironmentsFields.class) { new Dialog<String, CompilerEnvironmentsFields>(CompilerEnvironmentsFields.class) {
@Override @Override
@@ -51,11 +59,11 @@ public class PickCompilerEnvironmentsForTesting extends Pass<String> {
} }
@Override @Override
protected void body() throws Exception { protected void body() throws Exception {
Vector<String> envs = new Vector<>(); target.values.clear();
for (CompilerEnvironment compilerEnv : compiler.environments.Data.values()) { for (CompilerEnvironment compilerEnv : compiler.environments.Data.values()) {
if (compilerEnv.isSelected()) if (compilerEnv.isSelected()){
envs.add(compilerEnv.name + "=" + Utils_.DQuotes(compilerEnv.value)); target.values.add(new EnvironmentJson(compilerEnv));
} }
target = String.join(" ", envs); }
} }
} }

View File

@@ -6,7 +6,7 @@ import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector; import java.util.Vector;
public class DVMSettings extends Settings { public class DVMSettings extends Settings {
//todo.хранить флаги и окружение в json чтобы можно было в форме их видеть. //todo.вывести. хранить флаги и окружение в json чтобы можно было в форме их видеть.
public String environments = ""; public String environments = "";
@Description("DEFAULT 0") @Description("DEFAULT 0")
public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались. public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались.
@@ -18,7 +18,8 @@ public class DVMSettings extends Settings {
//-- //--
@Description("DEFAULT ''") @Description("DEFAULT ''")
public String packedCompilationOptionsJson = ""; public String packedCompilationOptionsJson = "";
@Description("DEFAULT ''")
public String packedRunEnvironmentValuesJson = "";
public DVMSettings() { public DVMSettings() {
} }
public DVMSettings(DVMSettings src) { public DVMSettings(DVMSettings src) {
@@ -28,10 +29,10 @@ public class DVMSettings extends Settings {
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
DVMSettings c = (DVMSettings) src; DVMSettings c = (DVMSettings) src;
environments = c.environments; environments = c.environments; //todo вывести.
Is_DVM_STAT = c.Is_DVM_STAT; 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; cube = c.cube;
max_proc_count = c.max_proc_count; 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.cbDvmStat.setSelected(Result.Is_DVM_STAT != 0);
//--- //---
fields.fillOptionsLines(Result.packedCompilationOptionsJson); fields.fillOptionsLines(Result.packedCompilationOptionsJson);
fields.fillEnvironmentsLines(Result.packedRunEnvironmentValuesJson);
} }
@Override @Override
public void ProcessResult() { public void ProcessResult() {
@@ -48,6 +49,7 @@ public class DVMSettingsDialog extends DBObjectDialog<DVMSettings, DVMSettingsFi
Result.Is_DVM_STAT = fields.cbDvmStat.isSelected() ? 1 : 0; Result.Is_DVM_STAT = fields.cbDvmStat.isSelected() ? 1 : 0;
//-- //--
Result.packedCompilationOptionsJson = Utils_.gson.toJson(fields.optionsLines.toJson()); Result.packedCompilationOptionsJson = Utils_.gson.toJson(fields.optionsLines.toJson());
Result.packedRunEnvironmentValuesJson= Utils_.gson.toJson(fields.environmentsLines.toJson());
} }
@Override @Override
public void SetReadonly() { public void SetReadonly() {

View File

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