no message

This commit is contained in:
2024-09-14 00:18:27 +03:00
parent 756c2d214f
commit 91a509b3de
29 changed files with 272 additions and 183 deletions

26
.idea/workspace.xml generated
View File

@@ -7,11 +7,35 @@
</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/TestingSystem/Common/Configuration.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/TestingSystem/Common/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Common/Current.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Current.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/Configuration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/DVMConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/ConfigurationDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/ConfigurationDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/EditConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeTests.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.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

@@ -19,8 +19,7 @@ import ProjectData.SapforData.Regions.ParallelRegion;
import Repository.BugReport.BugReport; import Repository.BugReport.BugReport;
import Repository.Subscribes.Subscriber; import Repository.Subscribes.Subscriber;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration; import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import Visual_DVM_2021.Passes.UI.PassForm; import Visual_DVM_2021.Passes.UI.PassForm;
@@ -227,8 +226,8 @@ public enum Current {
public static boolean HasConfiguration() { public static boolean HasConfiguration() {
return get(Current.Configuration) != null; return get(Current.Configuration) != null;
} }
public static TestingSystem.DVM.Configuration.Configuration getConfiguration() { public static DVMConfiguration getConfiguration() {
return (Configuration) get(Current.Configuration); return (DVMConfiguration) get(Current.Configuration);
} }
public static SapforConfiguration getSapforConfiguration() { public static SapforConfiguration getSapforConfiguration() {
return (TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration) get(Current.SapforConfiguration); return (TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration) get(Current.SapforConfiguration);

View File

@@ -243,6 +243,7 @@ public abstract class RepositoryServer<D extends Database> {
DBObject new_object = (DBObject) request.object; DBObject new_object = (DBObject) request.object;
Print("Редактировать объект " + new_object.getPK()); Print("Редактировать объект " + new_object.getPK());
db.UpdateWithCheck(new_object); db.UpdateWithCheck(new_object);
afterEditAction(new_object);
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
break; break;
case DeleteObject: //устарело. потом убрать. сейчас на это баг репорты повязаны. case DeleteObject: //устарело. потом убрать. сейчас на это баг репорты повязаны.
@@ -353,6 +354,8 @@ public abstract class RepositoryServer<D extends Database> {
} }
protected void afterPublishAction(DBObject object) throws Exception { protected void afterPublishAction(DBObject object) throws Exception {
} }
protected void afterEditAction(DBObject object) throws Exception {
}
//------------------------------ //------------------------------
private void DeleteObjectByPK() throws Exception { private void DeleteObjectByPK() throws Exception {
Print("Удалить объект по ключу"); Print("Удалить объект по ключу");

View File

@@ -0,0 +1,18 @@
package TestingSystem.Common;
import Common.Database.DBObject;
import Common.Database.riDBObject;
import java.util.Vector;
public class Configuration extends riDBObject {
public int maxtime = 300; //лимит времени пуска задачи, входящей в пакет тестов
//--
public String getFlags(){return "";}
public Vector<String> getFlagsArray(){return new Vector<>();}
//--
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
Configuration c = (Configuration) src;
maxtime = c.maxtime;
}
}

View File

@@ -4,10 +4,11 @@ import Common.Database.DBObject;
import Common.Database.riDBObject; import Common.Database.riDBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.Common.Configuration;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.TasksPackageState; import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import com.sun.org.glassfish.gmbal.Description; import com.sun.org.glassfish.gmbal.Description;
import java.io.File; import java.io.File;
@@ -108,11 +109,11 @@ public abstract class TestingPackage<J> extends riDBObject {
public void destructor() { public void destructor() {
package_json = null; package_json = null;
} }
public Vector<Configuration> getConfigurations() { public Vector<DVMConfiguration> getConfigurations() {
Vector<Configuration> res = new Vector<>(); Vector<DVMConfiguration> res = new Vector<>();
for (int o_id : Utils.unpack(packedConfigurations)) for (int o_id : Utils.unpack(packedConfigurations))
if (Global.testingServer.db.configurations.containsKey(o_id)) if (Global.testingServer.db.dvm_configurations.containsKey(o_id))
res.add(Global.testingServer.db.configurations.get(o_id)); res.add(Global.testingServer.db.dvm_configurations.get(o_id));
return res; return res;
} }
public Vector<Group> getGroups() { public Vector<Group> getGroups() {
@@ -160,44 +161,34 @@ public abstract class TestingPackage<J> extends riDBObject {
} }
} }
*/ */
public void addConfigurations(Vector<Configuration> new_configurations) { //------------------------------------------------------->>>
Vector<String> res = Utils.unpack_s(packedConfigurations); public void saveConfigurations(Vector<? extends Configuration> new_configurations) {
//--- Vector<String> res = new Vector<>();
System.out.println("old_configs " + res.size()); Vector<String> names = new Vector<>();
for (String id_ : res) {
System.out.println(Utils.Brackets(id_));
}
//---
for (Configuration configuration : new_configurations) { for (Configuration configuration : new_configurations) {
String id_ = String.valueOf(configuration.id); res.add(String.valueOf(configuration.id));
if (!res.contains(id_)) names.add(configuration.description);
res.add(id_);
} }
packedConfigurations = String.join("\n", res); packedConfigurations = String.join("\n", res);
System.out.println("new_configs=" + res.size()); configurationsNames = String.join(";", names);
for (String id_ : res) { configurationsCount = new_configurations.size();
System.out.println(Utils.Brackets(id_));
}
} }
public void addGroups(Vector<Group> new_groups) { public void saveGroups(Vector<Group> new_groups) {
Vector<String> res = Utils.unpack_s(packedGroups); Vector<String> res = new Vector<>();
//--- Vector<String> names = new Vector<>();
for (Group group : new_groups) { for (Group group : new_groups) {
String id_ = String.valueOf(group.id); res.add(String.valueOf(group.id));
if (!res.contains(id_)) names.add(group.description);
res.add(id_);
} }
packedGroups = String.join("\n", res); packedGroups = String.join("\n", res);
groupsNames = String.join(";", names);
groupsCount = new_groups.size();
} }
public void addTests(Vector<Test> new_tests) { public void saveTests(Vector<Test> new_tests) {
Vector<String> res = Utils.unpack_s(packedTests); Vector<String> res = new Vector<>();
//--- for (Test test : new_tests)
for (Test test : new_tests) { res.add(String.valueOf(test.id));
String id_ = String.valueOf(test.id);
if (!res.contains(id_))
res.add(id_);
}
packedTests = String.join("\n", res); packedTests = String.join("\n", res);
testsCount = new_tests.size();
} }
//------------------------------------------------------->>>
} }

View File

@@ -99,6 +99,7 @@ public abstract class TestingPlanner<P extends TestingPackage> extends Repositor
ServerCommand(ServerCode.DeleteObjectByPK, new Pair(TestingPackageToKill.class, ptk_id)); ServerCommand(ServerCode.DeleteObjectByPK, new Pair(TestingPackageToKill.class, ptk_id));
} else { } else {
//-- //--
System.out.println(testingPackage.id+":"+testingPackage.state.getDescription());
switch (testingPackage.state) { switch (testingPackage.state) {
case TestsSynchronize: case TestsSynchronize:
TestsSynchronize(); TestsSynchronize();

View File

@@ -54,7 +54,9 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
+ "\nТест будет удален" + "\nТест будет удален"
); );
} }
} else if (object instanceof DVMPackage) { }
/*
else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object; DVMPackage dvmPackage = (DVMPackage) object;
//-- //--
Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace()); Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace());
@@ -62,11 +64,26 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
dvmPackage.saveJson(); dvmPackage.saveJson();
dvmPackage.package_json = null; // объект больше не нужен. dvmPackage.package_json = null; // объект больше не нужен.
//-- //--
} else if (object instanceof SapforPackage) { }
*/
else if (object instanceof SapforPackage) {
((SapforPackage) object).init(); ((SapforPackage) object).init();
} }
} }
@Override @Override
protected void afterEditAction(DBObject object) throws Exception {
if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object;
if (dvmPackage.state == TasksPackageState.Inactive) {//если json не null, требуется его перезапись
if (dvmPackage.package_json != null) {
Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace());
dvmPackage.saveJson();
dvmPackage.package_json = null; // объект больше не нужен.
}
}
}
}
@Override
public void afterDeleteAction(DBObject object) throws Exception { public void afterDeleteAction(DBObject object) throws Exception {
if (object instanceof Test) { if (object instanceof Test) {
Test test = (Test) object; Test test = (Test) object;

View File

@@ -8,7 +8,6 @@ import Repository.Component.Sapfor.Sapfor;
import Repository.RepositoryRefuseException; import Repository.RepositoryRefuseException;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Group.GroupsDBTable; import TestingSystem.Common.Group.GroupsDBTable;
import TestingSystem.Common.MachineProcess.MachineProcessSet;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestDBTable; import TestingSystem.Common.Test.TestDBTable;
import TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable; import TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
@@ -25,19 +24,17 @@ import TestingSystem.SAPFOR.ServerSapfor.ServerSapforState;
import TestingSystem.SAPFOR.ServerSapfor.ServerSapforsDBTable; import TestingSystem.SAPFOR.ServerSapfor.ServerSapforsDBTable;
import Visual_DVM_2021.Passes.All.ZipFolderPass; import Visual_DVM_2021.Passes.All.ZipFolderPass;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
import com.sun.corba.se.spi.activation.Server;
import javafx.util.Pair; import javafx.util.Pair;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import java.io.File; import java.io.File;
import java.io.Serializable;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Comparator; import java.util.Comparator;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class TestsDatabase extends SQLiteDatabase { public class TestsDatabase extends SQLiteDatabase {
public ConfigurationDBTable configurations; public ConfigurationDBTable dvm_configurations;
public TestDBTable tests; public TestDBTable tests;
public GroupsDBTable groups; public GroupsDBTable groups;
public DVMPackageDBTable dvmPackages; public DVMPackageDBTable dvmPackages;
@@ -57,7 +54,7 @@ public class TestsDatabase extends SQLiteDatabase {
} }
@Override @Override
protected void initAllTables() throws Exception { protected void initAllTables() throws Exception {
addTable(configurations = new ConfigurationDBTable()); addTable(dvm_configurations = new ConfigurationDBTable());
addTable(groups = new GroupsDBTable()); addTable(groups = new GroupsDBTable());
addTable(tests = new TestDBTable()); addTable(tests = new TestDBTable());
addTable(dvmPackages = new DVMPackageDBTable()); addTable(dvmPackages = new DVMPackageDBTable());
@@ -306,6 +303,6 @@ public class TestsDatabase extends SQLiteDatabase {
public void UnselectAllGTC(){ public void UnselectAllGTC(){
groups.CheckAll(false); groups.CheckAll(false);
tests.CheckAll(false); tests.CheckAll(false);
configurations.CheckAll(false); dvm_configurations.CheckAll(false);
} }
} }

View File

@@ -8,9 +8,9 @@ import Common.UI.VisualiserStringList;
import Common.UI.Windows.Dialog.DBObjectDialog; import Common.UI.Windows.Dialog.DBObjectDialog;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.DVM.Configuration.UI.ConfigurationFields; import TestingSystem.DVM.Configuration.UI.ConfigurationFields;
public class ConfigurationDBTable extends iDBTable<Configuration> { public class ConfigurationDBTable extends iDBTable<DVMConfiguration> {
public ConfigurationDBTable() { public ConfigurationDBTable() {
super(Configuration.class); super(DVMConfiguration.class);
} }
@Override @Override
public Current CurrentName() { public Current CurrentName() {
@@ -57,7 +57,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
}; };
} }
@Override @Override
public Object getFieldAt(Configuration object, int columnIndex) { public Object getFieldAt(DVMConfiguration object, int columnIndex) {
switch (columnIndex) { switch (columnIndex) {
case 2: case 2:
return object.description; return object.description;
@@ -78,7 +78,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
case 10: case 10:
return object.max_dim_proc_count; return object.max_dim_proc_count;
case 11: case 11:
return object.r_maxtime; return object.maxtime;
case 12: case 12:
return Utils.unpackStrings(object.usr_par, true); return Utils.unpackStrings(object.usr_par, true);
default: default:
@@ -86,8 +86,8 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
} }
} }
@Override @Override
public DBObjectDialog<Configuration, ConfigurationFields> getDialog() { public DBObjectDialog<DVMConfiguration, ConfigurationFields> getDialog() {
return new DBObjectDialog<Configuration, ConfigurationFields>(ConfigurationFields.class) { return new DBObjectDialog<DVMConfiguration, ConfigurationFields>(ConfigurationFields.class) {
@Override @Override
public int getDefaultHeight() { public int getDefaultHeight() {
return 480; return 480;
@@ -111,7 +111,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
public void fillFields() { public void fillFields() {
fields.tfName.setText(Result.description); fields.tfName.setText(Result.description);
//------->>>> //------->>>>
((VisualiserStringList) (fields.flagsList)).fill(Result.getFlags()); ((VisualiserStringList) (fields.flagsList)).fill(Result.getFlagsArray());
((VisualiserStringList) (fields.environmentsList)).fill(Result.getEnvironments()); ((VisualiserStringList) (fields.environmentsList)).fill(Result.getEnvironments());
((VisualiserStringList) (fields.parList)).fill(Result.getParams()); ((VisualiserStringList) (fields.parList)).fill(Result.getParams());
//------->>>> //------->>>>
@@ -120,7 +120,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
fields.sMinDimProc.setValue(Result.min_dim_proc_count); fields.sMinDimProc.setValue(Result.min_dim_proc_count);
fields.sMaxDimProc.setValue(Result.max_dim_proc_count); fields.sMaxDimProc.setValue(Result.max_dim_proc_count);
fields.cbCube.setSelected(Result.cube == 1); fields.cbCube.setSelected(Result.cube == 1);
fields.sRunMaxtime.setValue(Result.r_maxtime); fields.sRunMaxtime.setValue(Result.maxtime);
//- //-
fields.sMaxProc.setValue(Result.max_proc_count); fields.sMaxProc.setValue(Result.max_proc_count);
} }
@@ -132,7 +132,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
Result.max_dim_proc_count = (int) fields.sMaxDimProc.getValue(); Result.max_dim_proc_count = (int) fields.sMaxDimProc.getValue();
Result.cube = fields.cbCube.isSelected() ? 1 : 0; Result.cube = fields.cbCube.isSelected() ? 1 : 0;
Result.max_proc_count = (int) fields.sMaxProc.getValue(); Result.max_proc_count = (int) fields.sMaxProc.getValue();
Result.r_maxtime = (int) fields.sRunMaxtime.getValue(); Result.maxtime = (int) fields.sRunMaxtime.getValue();
Result.flags = ((VisualiserStringList) (fields.flagsList)).pack(); Result.flags = ((VisualiserStringList) (fields.flagsList)).pack();
Result.environments = ((VisualiserStringList) (fields.environmentsList)).pack(); Result.environments = ((VisualiserStringList) (fields.environmentsList)).pack();
Result.usr_par = ((VisualiserStringList) (fields.parList)).pack(); Result.usr_par = ((VisualiserStringList) (fields.parList)).pack();
@@ -157,6 +157,6 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
} }
@Override @Override
public boolean ShowEditObjectDialog(DBObject object) { public boolean ShowEditObjectDialog(DBObject object) {
return (Current.getAccount().CheckAccessRights(((Configuration) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object); return (Current.getAccount().CheckAccessRights(((DVMConfiguration) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
} }
} }

View File

@@ -1,46 +1,33 @@
package TestingSystem.DVM.Configuration; package TestingSystem.DVM.Configuration;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.RunConfiguration.RunConfiguration; import GlobalData.RunConfiguration.RunConfiguration;
import TestingSystem.Common.Configuration;
import java.util.Vector; import java.util.Vector;
public class Configuration extends riDBObject { //конфгурация тестирования ДВМ
public class DVMConfiguration extends Configuration {
//компиляция. //компиляция.
public String flags = "\n"; public String flags = "\n";
public int c_maxtime = 40; public int c_maxtime = 40;
//матрица //матрица
public int cube = 0; public int cube = 0; //
public int max_proc_count = 4; public int max_proc_count = 4;
public int min_dim_proc_count = 1; public int min_dim_proc_count = 1;
public int max_dim_proc_count = 4; public int max_dim_proc_count = 4;
//запуск //запуск
public String environments="\n"; public String environments="\n";
public String usr_par = ""; public String usr_par = "";
public int r_maxtime = 300;
//- //-
@Override @Override
public void SynchronizeFields(DBObject src) { public String getFlags() {
super.SynchronizeFields(src); return flags;
Configuration c = (Configuration) src;
flags = c.flags;
c_maxtime=c.c_maxtime;
cube= c.cube;
max_proc_count=c.max_proc_count;
min_dim_proc_count=c.min_dim_proc_count;
max_dim_proc_count=c.max_dim_proc_count;
environments=c.environments;
usr_par=c.usr_par;
r_maxtime=c.r_maxtime;
} }
public Configuration(Configuration src){ @Override
this.SynchronizeFields(src); public Vector<String> getFlagsArray() {
}
public Configuration(){}
//--
public Vector<String> getFlags() {
return Utils.unpackStrings(flags); return Utils.unpackStrings(flags);
} }
//-
public Vector<String> getEnvironments() { public Vector<String> getEnvironments() {
return Utils.unpackStrings(environments); return Utils.unpackStrings(environments);
} }
@@ -95,7 +82,22 @@ public class Configuration extends riDBObject {
if ((params.size() == 1) && params.get(0).isEmpty()) return ""; if ((params.size() == 1) && params.get(0).isEmpty()) return "";
return String.join("\n", params); return String.join("\n", params);
} }
public String getSummary() { //-
return description; @Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
DVMConfiguration c = (DVMConfiguration) src;
flags = c.flags;
c_maxtime=c.c_maxtime;
cube= c.cube;
max_proc_count=c.max_proc_count;
min_dim_proc_count=c.min_dim_proc_count;
max_dim_proc_count=c.max_dim_proc_count;
environments=c.environments;
usr_par=c.usr_par;
} }
public DVMConfiguration(DVMConfiguration src){
this.SynchronizeFields(src);
}
public DVMConfiguration(){}
} }

View File

@@ -5,10 +5,15 @@ import Common.Global;
import GlobalData.Machine.Machine; import GlobalData.Machine.Machine;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import GlobalData.User.User; import GlobalData.User.User;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable; import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import java.io.File; import java.io.File;
import java.util.Vector;
public class DVMPackage extends TestingPackage<DVMPackage_json> { public class DVMPackage extends TestingPackage<DVMPackage_json> {
//--- //---
public String machine_name = ""; public String machine_name = "";
@@ -56,4 +61,22 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
return (!DVMPackageDBTable.filterMyOnly || Current.getAccount().email.equals(sender_address))&& return (!DVMPackageDBTable.filterMyOnly || Current.getAccount().email.equals(sender_address))&&
(!DVMPackageDBTable.filterActive || state.isActive() ); (!DVMPackageDBTable.filterActive || state.isActive() );
} }
public void saveTasks(Vector<DVMCompilationTask> tasks, int allTasksCount){
tasksCount=allTasksCount;
//--
package_json=new DVMPackage_json();
DVMPackage_json json = package_json;
//инициализируем идентификаторы задач.
for (DVMCompilationTask compilationTask : tasks) {
//--
compilationTask.id = json.getMaxTaskId();
//-
for (DVMRunTask runTask : compilationTask.runTasks) {
runTask.id = json.getMaxTaskId();
runTask.dvmcompilationtask_id = compilationTask.id;
}
}
json.compilationTasks.addAll(tasks);
}
} }

View File

@@ -1,9 +1,4 @@
package TestingSystem.DVM.DVMPackage; package TestingSystem.DVM.DVMPackage;
import Common.Constants;
import Common.Global;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask; import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;

View File

@@ -1,10 +1,7 @@
package TestingSystem.DVM.DVMTasks; package TestingSystem.DVM.DVMTasks;
import Common.Database.DBObject;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import java.util.List; import java.util.List;
@@ -13,7 +10,7 @@ public class DVMCompilationTask extends DVMTask {
@Expose @Expose
public List<DVMRunTask> runTasks = new Vector<>(); public List<DVMRunTask> runTasks = new Vector<>();
//- //-
public DVMCompilationTask(Configuration configuration, public DVMCompilationTask(DVMConfiguration configuration,
Group group, Group group,
Test test, Test test,
String flags_in String flags_in

View File

@@ -7,7 +7,7 @@ import GlobalData.Tasks.TaskState;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType; import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import java.io.File; import java.io.File;
@@ -40,7 +40,7 @@ public class DVMRunTask extends DVMTask {
public TaskState compilation_state = TaskState.Waiting; public TaskState compilation_state = TaskState.Waiting;
@Expose @Expose
public double compilation_time = 0.0; public double compilation_time = 0.0;
public DVMRunTask(Configuration configuration, public DVMRunTask(DVMConfiguration configuration,
Group group, Test test, Group group, Test test,
String matrix_in, String flags_in, String matrix_in, String flags_in,
String environments_in, String environments_in,
@@ -56,7 +56,7 @@ public class DVMRunTask extends DVMTask {
cube = configuration.cube; cube = configuration.cube;
min_dim = configuration.max_dim_proc_count; min_dim = configuration.max_dim_proc_count;
max_dim = configuration.max_dim_proc_count; max_dim = configuration.max_dim_proc_count;
maxtime = configuration.r_maxtime; maxtime = configuration.maxtime;
environments = environments_in; environments = environments_in;
usr_par = par_in; usr_par = par_in;
args = test.args; args = test.args;

View File

@@ -8,7 +8,7 @@ import ProjectData.LanguageName;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType; import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
@@ -63,7 +63,7 @@ public class DVMTask extends iDBObject {
} }
public DVMTask() { public DVMTask() {
} }
public DVMTask(Configuration configuration, public DVMTask(DVMConfiguration configuration,
Group group, Test test, String flags_in) { Group group, Test test, String flags_in) {
group_id = group.id; group_id = group.id;
test_id = test.id; test_id = test.id;

View File

@@ -111,6 +111,7 @@ public abstract class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
protected void Print(String message) { protected void Print(String message) {
try { try {
if (isPrintOn()) { if (isPrintOn()) {
System.out.println(message);
Global.Log.Print(message); Global.Log.Print(message);
} }
} catch (Exception ex) { } catch (Exception ex) {

View File

@@ -46,21 +46,27 @@ public class RemoteDVMTestingPlanner extends DVMTestingPlanner {
//---- //----
@Override @Override
protected void TestsSynchronize() throws Exception { protected void TestsSynchronize() throws Exception {
System.out.println("--");
testingPackage.readJson(); testingPackage.readJson();
System.out.println("+");
LinkedHashMap<Integer, File> tests = getTestsFromJson(); LinkedHashMap<Integer, File> tests = getTestsFromJson();
//синхронизировать их. //синхронизировать их.
for (int test_id : tests.keySet()) { for (int test_id : tests.keySet()) {
System.out.println("test="+test_id);
File test = tests.get(test_id); File test = tests.get(test_id);
RemoteFile test_dst = new RemoteFile(testingPackage.user_workspace + "/projects/" + test_id, true); RemoteFile test_dst = new RemoteFile(testingPackage.user_workspace + "/projects/" + test_id, true);
user.connection.MKDIR(test_dst); user.connection.MKDIR(test_dst);
user.connection.SynchronizeSubDirsR(test, test_dst); user.connection.SynchronizeSubDirsR(test, test_dst);
} }
System.out.println("++");
} }
@Override @Override
protected void PackageWorkspaceCreation() throws Exception { protected void PackageWorkspaceCreation() throws Exception {
System.out.println("package workspace creation");
if (!CheckModules()) { if (!CheckModules()) {
return; return;
} }
System.out.println("modules checked");
//-- //--
testingPackage.readJson(); testingPackage.readJson();
//-- //--

View File

@@ -1,20 +1,20 @@
package TestingSystem.SAPFOR.SapforConfiguration; package TestingSystem.SAPFOR.SapforConfiguration;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject;
import Common.Global; import Common.Global;
import TestingSystem.Common.Configuration;
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand; import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
import java.util.Vector; import java.util.Vector;
public class SapforConfiguration extends riDBObject { public class SapforConfiguration extends Configuration {
//настройки. //настройки.
public int maxtime = 300; //лимит времени преобразования. (пока не используется)
public int FREE_FORM = 0; //"Свободный выходной стиль"; -f90 public int FREE_FORM = 0; //"Свободный выходной стиль"; -f90
public int STATIC_SHADOW_ANALYSIS = 0;//"Оптимизация теневых обменов"; -sh public int STATIC_SHADOW_ANALYSIS = 0;//"Оптимизация теневых обменов"; -sh
public int MAX_SHADOW_WIDTH = 50; // "Максимальный размер теневых граней"; (%) -shwidth значение поля public int MAX_SHADOW_WIDTH = 50; // "Максимальный размер теневых граней"; (%) -shwidth значение поля
public int KEEP_SPF_DIRECTIVES = 0; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF public int KEEP_SPF_DIRECTIVES = 0; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
public int KEEP_DVM_DIRECTIVES = 0;// "Учитывать DVM директивы"; -keepDVM public int KEEP_DVM_DIRECTIVES = 0;// "Учитывать DVM директивы"; -keepDVM
//---- //----
@Override
public String getFlags() { public String getFlags() {
Vector<String> res = new Vector<>(); Vector<String> res = new Vector<>();
if (FREE_FORM > 0) if (FREE_FORM > 0)
@@ -44,7 +44,6 @@ public class SapforConfiguration extends riDBObject {
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
SapforConfiguration c = (SapforConfiguration) src; SapforConfiguration c = (SapforConfiguration) src;
maxtime = c.maxtime;
FREE_FORM = c.FREE_FORM; FREE_FORM = c.FREE_FORM;
STATIC_SHADOW_ANALYSIS = c.STATIC_SHADOW_ANALYSIS; STATIC_SHADOW_ANALYSIS = c.STATIC_SHADOW_ANALYSIS;
MAX_SHADOW_WIDTH = c.MAX_SHADOW_WIDTH; MAX_SHADOW_WIDTH = c.MAX_SHADOW_WIDTH;

View File

@@ -6,14 +6,15 @@ import Common.Global;
import GlobalData.Compiler.CompilerType; import GlobalData.Compiler.CompilerType;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import GlobalData.User.UserState; import GlobalData.User.UserState;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json; import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.Common.TasksPackageState;
import Visual_DVM_2021.Passes.AddObjectPass;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
public class AddDVMPackage extends AddObjectPass<DVMPackage> { import Visual_DVM_2021.Passes.Server.PublishServerObject;
public class AddDVMPackage extends PublishServerObject<TestingServer, DVMPackage> {
public AddDVMPackage() { public AddDVMPackage() {
super(DVMPackage.class); super(Global.testingServer, DVMPackage.class);
} }
@Override @Override
public String getIconPath() { public String getIconPath() {
@@ -44,17 +45,19 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
if (!Current.getCompiler().versionLoaded) if (!Current.getCompiler().versionLoaded)
passes.get(PassCode_2021.ShowCompilerVersion).Do(Current.getCompiler(), false); passes.get(PassCode_2021.ShowCompilerVersion).Do(Current.getCompiler(), false);
//- //-
/*
for (DVMPackage dvmPackage: Global.testingServer.db.dvmPackages.Data.values()){ for (DVMPackage dvmPackage: Global.testingServer.db.dvmPackages.Data.values()){
if (dvmPackage.state.equals(TasksPackageState.Draft)){ if (dvmPackage.state.equals(TasksPackageState.Draft)){
Log.Writeln_("Может существовать только один пакет, готовящийся к публикации."); Log.Writeln_("Может существовать только один пакет, готовящийся к публикации.");
return false; return false;
} }
} }
*/
//-- //--
target = new DVMPackage(); target = new DVMPackage();
target.id = Constants.Nan; target.id = Constants.Nan;
//- //-
target.sender_name=Current.getAccount().name; target.sender_name = Current.getAccount().name;
target.sender_address = Current.getAccount().email; target.sender_address = Current.getAccount().email;
//- //-
target.machine_name = Current.getMachine().name; target.machine_name = Current.getMachine().name;
@@ -70,16 +73,17 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0; target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
//-- //--
target.package_json = new DVMPackage_json(); target.package_json = new DVMPackage_json();
target.state= TasksPackageState.Inactive; target.state = TasksPackageState.Inactive;
return true; return true;
} }
return false; return false;
} }
/*
@Override @Override
protected void body() throws Exception { protected void body() throws Exception {
//черновик не вставляется в бд. идет только как элемент списка.
Global.testingServer.db.dvmPackages.Data.put(target.id, target); Global.testingServer.db.dvmPackages.Data.put(target.id, target);
} }
*/
@Override @Override
protected void showDone() throws Exception { protected void showDone() throws Exception {
super.showDone(); super.showDone();

View File

@@ -3,10 +3,11 @@ import Common.Current;
import Common.Global; import Common.Global;
import Common.UI.UI; import Common.UI.UI;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.Common.Configuration;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.TasksPackageState; import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json; import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask; import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
@@ -48,12 +49,12 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
} }
//-- //--
public Vector<DVMCompilationTask> createTasksCGT( public Vector<DVMCompilationTask> createTasksCGT(
Configuration configuration, DVMConfiguration configuration,
Group group, Group group,
Test test Test test
) { ) {
Vector<DVMCompilationTask> compilationTasks = new Vector<>(); Vector<DVMCompilationTask> compilationTasks = new Vector<>();
for (String flags : configuration.getFlags()) { for (String flags : configuration.getFlagsArray()) {
String checked_flags = checkFlags(flags); String checked_flags = checkFlags(flags);
DVMCompilationTask dvmCompilationTask = new DVMCompilationTask( DVMCompilationTask dvmCompilationTask = new DVMCompilationTask(
configuration, configuration,
@@ -111,13 +112,13 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
tasks_count = 0; tasks_count = 0;
//----------- //-----------
//1, Проверяем выбраны ли конфиги. //1, Проверяем выбраны ли конфиги.
if (Global.testingServer.db.configurations.getCheckedCount() == 0) { if (Global.testingServer.db.dvm_configurations.getCheckedCount() == 0) {
Log.Writeln_("Не отмечена ни одна конфигурация тестирования."); Log.Writeln_("Не отмечена ни одна конфигурация тестирования.");
return false; return false;
} }
if (Global.testingServer.db.groups.getCheckedCount() > 0) { if (Global.testingServer.db.groups.getCheckedCount() > 0) {
//2 Проверяем выбраны ли группы. //2 Проверяем выбраны ли группы.
for (TestingSystem.DVM.Configuration.Configuration configuration : Global.testingServer.db.configurations.getCheckedItems()) { for (DVMConfiguration configuration : Global.testingServer.db.dvm_configurations.getCheckedItems()) {
configurations.add(configuration); configurations.add(configuration);
for (Group group : Global.testingServer.db.groups.getCheckedItems()) { for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
Vector<Test> groupTests = new Vector<>(); Vector<Test> groupTests = new Vector<>();
@@ -175,9 +176,9 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
} }
json.compilationTasks.addAll(tasks); json.compilationTasks.addAll(tasks);
//-- //--
target.addConfigurations(configurations); target.saveConfigurations(configurations);
target.addGroups(groups); target.saveGroups(groups);
target.addTests(tests); target.saveTests(tests);
//-- //--
target.tasksCount += tasks_count; target.tasksCount += tasks_count;
target.state= TasksPackageState.Inactive; target.state= TasksPackageState.Inactive;

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Global; import Common.Global;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import Visual_DVM_2021.Passes.DeleteServerObjects; import Visual_DVM_2021.Passes.DeleteServerObjects;
public class DeleteConfiguration extends DeleteServerObjects<TestingServer, Configuration> { public class DeleteConfiguration extends DeleteServerObjects<TestingServer, DVMConfiguration> {
public DeleteConfiguration() { public DeleteConfiguration() {
super(Global.testingServer, Configuration.class); super(Global.testingServer, DVMConfiguration.class);
} }
} }

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Global; import Common.Global;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import Visual_DVM_2021.Passes.Server.EditServerObject; import Visual_DVM_2021.Passes.Server.EditServerObject;
public class EditConfiguration extends EditServerObject<TestingServer, Configuration> { public class EditConfiguration extends EditServerObject<TestingServer, DVMConfiguration> {
public EditConfiguration() { public EditConfiguration() {
super(Global.testingServer, Configuration.class); super(Global.testingServer, DVMConfiguration.class);
} }
} }

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Global; import Common.Global;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.DVMConfiguration;
import Visual_DVM_2021.Passes.Server.PublishServerObject; import Visual_DVM_2021.Passes.Server.PublishServerObject;
public class PublishConfiguration extends PublishServerObject<TestingServer, Configuration> { public class PublishConfiguration extends PublishServerObject<TestingServer, DVMConfiguration> {
public PublishConfiguration() { public PublishConfiguration() {
super(Global.testingServer, Configuration.class); super(Global.testingServer, DVMConfiguration.class);
} }
} }

View File

@@ -1,23 +1,23 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Current; import Common.Current;
import Common.Global; import Common.Global;
import Common.UI.UI; import Common.UI.UI;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.Common.Configuration;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask; import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask; import TestingSystem.DVM.DVMTasks.DVMRunTask;
import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.Server.EditServerObject;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> { public class SaveCurrentDVMPackage extends EditServerObject<TestingServer, DVMPackage> {
//-- //--
Vector<Configuration> configurations; Vector<DVMConfiguration> configurations;
Vector<Group> groups; Vector<Group> groups;
Vector<Test> tests; Vector<Test> tests;
//-- //--
@@ -27,6 +27,9 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
LinkedHashMap<Integer, Vector<Test>> testsByGroups; LinkedHashMap<Integer, Vector<Test>> testsByGroups;
int tasks_count; int tasks_count;
Vector<DVMCompilationTask> tasks; Vector<DVMCompilationTask> tasks;
public SaveCurrentDVMPackage() {
super(Global.testingServer,DVMPackage.class);
}
//-- //--
@Override @Override
public String getIconPath() { public String getIconPath() {
@@ -55,12 +58,12 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
} }
//-- //--
public Vector<DVMCompilationTask> createTasksCGT( public Vector<DVMCompilationTask> createTasksCGT(
Configuration configuration, DVMConfiguration configuration,
Group group, Group group,
Test test Test test
) { ) {
Vector<DVMCompilationTask> compilationTasks = new Vector<>(); Vector<DVMCompilationTask> compilationTasks = new Vector<>();
for (String flags : configuration.getFlags()) { for (String flags : configuration.getFlagsArray()) {
String checked_flags = checkFlags(flags); String checked_flags = checkFlags(flags);
DVMCompilationTask dvmCompilationTask = new DVMCompilationTask( DVMCompilationTask dvmCompilationTask = new DVMCompilationTask(
configuration, configuration,
@@ -124,7 +127,7 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
Log.Writeln_("Возможно редактировать только неактивный пакет!"); Log.Writeln_("Возможно редактировать только неактивный пакет!");
return false; return false;
} }
for (Configuration configuration : Global.testingServer.db.configurations.getCheckedItems()) { for (DVMConfiguration configuration : Global.testingServer.db.dvm_configurations.getCheckedItems()) {
configurations.add(configuration); configurations.add(configuration);
configurationsNames.add(configuration.description); configurationsNames.add(configuration.description);
} }
@@ -137,55 +140,34 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
} }
//--- //---
//создание задач //создание задач
for (Configuration configuration : configurations) { for (DVMConfiguration configuration : configurations) {
configurations.add(configuration);
for (Group group : groups) { for (Group group : groups) {
Vector<Test> groupTests = testsByGroups.get(group.id); Vector<Test> groupTests = testsByGroups.get(group.id);
for (Test test: groupTests){ for (Test test: groupTests)
tasks.addAll(createTasksCGT(configuration, group, test)); tasks.addAll(createTasksCGT(configuration, group, test));
}
} }
} }
//--- //---
/*
if (tasks.isEmpty()) { if (tasks.isEmpty()) {
Log.Writeln_("Не удалось добавить задачи.\n" + Log.Writeln_("Не удалось добавить задачи.\n" +
"Для создания задач отметьте требуемые конфигурации,\n" + "Для создания задач отметьте требуемые конфигурации,\n" +
"Отметьте группы, или отдельные тесты в отмеченной текущей группе"); "Отметьте группы, или отдельные тесты в отмеченной текущей группе");
return false; return false;
} }
*/
//--- //---
return UI.Question("Будет создано " + tasks_count + " задач. Продолжить"); return UI.Question("Будет создано " + tasks_count + " задач. Продолжить");
} }
@Override @Override
protected void body() throws Exception { protected void ServerAction() throws Exception {
//занесение информации об участвующих группах конфигурациях и тестах //занесение информации об участвующих группах конфигурациях и тестах
target.addConfigurations(configurations); target.saveConfigurations(configurations);
target.addGroups(groups); target.saveGroups(groups);
target.addTests(tests); target.saveTests(tests);
//-- //--
target.configurationsCount = configurations.size(); target.saveTasks(tasks, tasks_count);
target.groupsCount = groups.size(); super.ServerAction();
target.testsCount = tests.size();
//--
target.configurationsNames = String.join(";", configurationsNames);
target.groupsNames = String.join(";", groupsNames);
//---
target.tasksCount=tasks_count;
DVMPackage_json json = target.package_json;
//инициализируем идентификаторы задач.
for (DVMCompilationTask compilationTask : tasks) {
//--
compilationTask.id = json.getMaxTaskId();
//-
for (DVMRunTask runTask : compilationTask.runTasks) {
runTask.id = json.getMaxTaskId();
runTask.dvmcompilationtask_id = compilationTask.id;
}
}
json.compilationTasks.addAll(tasks);
//--
if (target.id != Constants.Nan)
Global.testingServer.db.Update(target);
} }
@Override @Override
protected void showDone() throws Exception { protected void showDone() throws Exception {

View File

@@ -3,8 +3,7 @@ import Common.Current;
import Common.Global; import Common.Global;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.Pass_2021;
@@ -12,7 +11,7 @@ import java.util.Vector;
public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> { public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
@Override @Override
public String getIconPath() { public String getIconPath() {
return "/icons/LastOpened.png"; return "/icons/Edit.png";
} }
@Override @Override
public String getButtonText() { public String getButtonText() {
@@ -35,13 +34,13 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
@Override @Override
protected void showDone() throws Exception { protected void showDone() throws Exception {
System.out.println("package="+target.id); System.out.println("package="+target.id);
Vector<Configuration> configurations = target.getConfigurations(); Vector<DVMConfiguration> configurations = target.getConfigurations();
Vector<Group> groups = target.getGroups(); Vector<Group> groups = target.getGroups();
Vector<Test> tests = target.getTests(); Vector<Test> tests = target.getTests();
//----- //-----
Vector<String> res = new Vector<>(); Vector<String> res = new Vector<>();
res.add("конфигурации: " + configurations.size()); res.add("конфигурации: " + configurations.size());
for (Configuration configuration : configurations) for (DVMConfiguration configuration : configurations)
res.add(configuration.description); res.add(configuration.description);
//-- //--
res.add("группы: " + groups.size()); res.add("группы: " + groups.size());
@@ -53,7 +52,7 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
res.add(test.description); res.add(test.description);
System.out.println(String.join("\n", res)); System.out.println(String.join("\n", res));
//-- //--
for (Configuration configuration: configurations) for (DVMConfiguration configuration: configurations)
configuration.Select(true); configuration.Select(true);
for (Group group: groups) for (Group group: groups)
group.Select(true); group.Select(true);
@@ -68,7 +67,7 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
Global.testingServer.db.tests.ShowUI(tests.lastElement().id); Global.testingServer.db.tests.ShowUI(tests.lastElement().id);
} }
if (!configurations.isEmpty()){ if (!configurations.isEmpty()){
Global.testingServer.db.configurations.ShowUI(configurations.lastElement().id); Global.testingServer.db.dvm_configurations.ShowUI(configurations.lastElement().id);
} }
} }

View File

@@ -1,13 +1,43 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Current; import Common.Current;
import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.StartTestingPackage; import Visual_DVM_2021.Passes.Server.EditServerObject;
public class StartDVMPackage extends StartTestingPackage<DVMPackage> { public class StartDVMPackage extends EditServerObject<TestingServer, DVMPackage> {
@Override
public String getIconPath() {
return "/icons/Start.png";
}
public StartDVMPackage() { public StartDVMPackage() {
super(DVMPackage.class); super(Global.testingServer,DVMPackage.class);
} }
@Override @Override
protected Current getCurrentName() { protected boolean canStart(Object... args) throws Exception {
return Current.DVMPackage; if (!Current.getAccount().CheckRegistered(Log)) {
return false;
}
if (Current.Check(Log,Current.DVMPackage)) {
target = Current.getDVMPackage();
//-
if (target.state.isActive()) {
Log.Writeln_("Пакет уже запущен.");
return false;
}
if (target.tasksCount == 0) {
Log.Writeln_("В пакете отсутствуют задачи.");
return false;
}
if (UI.Question("Будет запущено:\n"
+ target.tasksCount + " задач.\n" +
"Продолжить")) {
target.connectionErrosCount=0;
target.state = TasksPackageState.Queued;
return true;
}
}
return false;
} }
} }

View File

@@ -34,7 +34,7 @@ public class SynchronizeTests extends TestingSystemPass<Object> {
//-- //--
// server.db.machines _testing_system // server.db.machines _testing_system
//-- //--
server.db.configurations.ClearUI(); server.db.dvm_configurations.ClearUI();
server.db.groups.ClearUI(); server.db.groups.ClearUI();
server.db.sapforConfigurations.ClearUI(); server.db.sapforConfigurations.ClearUI();
server.db.serverSapfors.ClearUI(); server.db.serverSapfors.ClearUI();
@@ -60,7 +60,7 @@ public class SynchronizeTests extends TestingSystemPass<Object> {
protected void showDone() throws Exception { protected void showDone() throws Exception {
if (UI.HasMainWindow()) { if (UI.HasMainWindow()) {
//server.db.machines //server.db.machines
server.db.configurations.ShowUI(); server.db.dvm_configurations.ShowUI();
server.db.groups.ShowUI(); server.db.groups.ShowUI();
server.db.sapforConfigurations.ShowUI(); server.db.sapforConfigurations.ShowUI();
server.db.serverSapfors.ShowUI(); server.db.serverSapfors.ShowUI();

View File

@@ -353,7 +353,7 @@ public enum PassCode_2021 {
case SaveCurrentDVMPackage: case SaveCurrentDVMPackage:
return "Сохранить текущий пакет тестирования DVM"; return "Сохранить текущий пакет тестирования DVM";
case ShowCurrentDVMPackage: case ShowCurrentDVMPackage:
return "Показать состав пакета тестирования DVM"; return "Редактировать пакет тестирования DVM";
case GetOldBugReports: case GetOldBugReports:
return "Получить неиспользуемые баг репорты"; return "Получить неиспользуемые баг репорты";
case SPF_RenameIncludes: case SPF_RenameIncludes:

View File

@@ -126,7 +126,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
Global.db.users.mountUI(usersPanel); Global.db.users.mountUI(usersPanel);
Global.db.compilers.mountUI(compilersPanel); Global.db.compilers.mountUI(compilersPanel);
//- //-
Global.testingServer.db.configurations.mountUI(configurationsPanel); Global.testingServer.db.dvm_configurations.mountUI(configurationsPanel);
Global.testingServer.db.dvmPackages.mountUI(dvmPackagesPanel); Global.testingServer.db.dvmPackages.mountUI(dvmPackagesPanel);
Global.testingServer.db.dvmRunTasks.mountUI(dvmRunTasksPanel); Global.testingServer.db.dvmRunTasks.mountUI(dvmRunTasksPanel);
Global.testingServer.db.sapforConfigurations.mountUI(sapforConfigurationsPanel); Global.testingServer.db.sapforConfigurations.mountUI(sapforConfigurationsPanel);
@@ -141,7 +141,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
@Override @Override
public void ShowAll() { public void ShowAll() {
Global.db.machines.ShowUI(); Global.db.machines.ShowUI();
Global.testingServer.db.configurations.ShowUI(); Global.testingServer.db.dvm_configurations.ShowUI();
Global.testingServer.db.dvmPackages.ShowUI(); Global.testingServer.db.dvmPackages.ShowUI();
Global.testingServer.db.sapforPackages.ShowUI(); Global.testingServer.db.sapforPackages.ShowUI();
//-- //--