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 name="ChangeListManager">
<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$/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/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/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>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -19,8 +19,7 @@ import ProjectData.SapforData.Regions.ParallelRegion;
import Repository.BugReport.BugReport;
import Repository.Subscribes.Subscriber;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import Visual_DVM_2021.Passes.UI.PassForm;
@@ -227,8 +226,8 @@ public enum Current {
public static boolean HasConfiguration() {
return get(Current.Configuration) != null;
}
public static TestingSystem.DVM.Configuration.Configuration getConfiguration() {
return (Configuration) get(Current.Configuration);
public static DVMConfiguration getConfiguration() {
return (DVMConfiguration) get(Current.Configuration);
}
public static SapforConfiguration getSapforConfiguration() {
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;
Print("Редактировать объект " + new_object.getPK());
db.UpdateWithCheck(new_object);
afterEditAction(new_object);
response = new ServerExchangeUnit_2021(ServerCode.OK);
break;
case DeleteObject: //устарело. потом убрать. сейчас на это баг репорты повязаны.
@@ -353,6 +354,8 @@ public abstract class RepositoryServer<D extends Database> {
}
protected void afterPublishAction(DBObject object) throws Exception {
}
protected void afterEditAction(DBObject object) throws Exception {
}
//------------------------------
private void DeleteObjectByPK() throws Exception {
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.Global;
import Common.Utils.Utils;
import TestingSystem.Common.Configuration;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import com.sun.org.glassfish.gmbal.Description;
import java.io.File;
@@ -108,11 +109,11 @@ public abstract class TestingPackage<J> extends riDBObject {
public void destructor() {
package_json = null;
}
public Vector<Configuration> getConfigurations() {
Vector<Configuration> res = new Vector<>();
public Vector<DVMConfiguration> getConfigurations() {
Vector<DVMConfiguration> res = new Vector<>();
for (int o_id : Utils.unpack(packedConfigurations))
if (Global.testingServer.db.configurations.containsKey(o_id))
res.add(Global.testingServer.db.configurations.get(o_id));
if (Global.testingServer.db.dvm_configurations.containsKey(o_id))
res.add(Global.testingServer.db.dvm_configurations.get(o_id));
return res;
}
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);
//---
System.out.println("old_configs " + res.size());
for (String id_ : res) {
System.out.println(Utils.Brackets(id_));
}
//---
//------------------------------------------------------->>>
public void saveConfigurations(Vector<? extends Configuration> new_configurations) {
Vector<String> res = new Vector<>();
Vector<String> names = new Vector<>();
for (Configuration configuration : new_configurations) {
String id_ = String.valueOf(configuration.id);
if (!res.contains(id_))
res.add(id_);
res.add(String.valueOf(configuration.id));
names.add(configuration.description);
}
packedConfigurations = String.join("\n", res);
System.out.println("new_configs=" + res.size());
for (String id_ : res) {
System.out.println(Utils.Brackets(id_));
configurationsNames = String.join(";", names);
configurationsCount = new_configurations.size();
}
}
public void addGroups(Vector<Group> new_groups) {
Vector<String> res = Utils.unpack_s(packedGroups);
//---
public void saveGroups(Vector<Group> new_groups) {
Vector<String> res = new Vector<>();
Vector<String> names = new Vector<>();
for (Group group : new_groups) {
String id_ = String.valueOf(group.id);
if (!res.contains(id_))
res.add(id_);
res.add(String.valueOf(group.id));
names.add(group.description);
}
packedGroups = String.join("\n", res);
groupsNames = String.join(";", names);
groupsCount = new_groups.size();
}
public void addTests(Vector<Test> new_tests) {
Vector<String> res = Utils.unpack_s(packedTests);
//---
for (Test test : new_tests) {
String id_ = String.valueOf(test.id);
if (!res.contains(id_))
res.add(id_);
}
public void saveTests(Vector<Test> new_tests) {
Vector<String> res = new Vector<>();
for (Test test : new_tests)
res.add(String.valueOf(test.id));
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));
} else {
//--
System.out.println(testingPackage.id+":"+testingPackage.state.getDescription());
switch (testingPackage.state) {
case TestsSynchronize:
TestsSynchronize();

View File

@@ -54,7 +54,9 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
+ "\nТест будет удален"
);
}
} else if (object instanceof DVMPackage) {
}
/*
else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object;
//--
Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace());
@@ -62,11 +64,26 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
dvmPackage.saveJson();
dvmPackage.package_json = null; // объект больше не нужен.
//--
} else if (object instanceof SapforPackage) {
}
*/
else if (object instanceof SapforPackage) {
((SapforPackage) object).init();
}
}
@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 {
if (object instanceof Test) {
Test test = (Test) object;

View File

@@ -8,7 +8,6 @@ import Repository.Component.Sapfor.Sapfor;
import Repository.RepositoryRefuseException;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Group.GroupsDBTable;
import TestingSystem.Common.MachineProcess.MachineProcessSet;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestDBTable;
import TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
@@ -25,19 +24,17 @@ import TestingSystem.SAPFOR.ServerSapfor.ServerSapforState;
import TestingSystem.SAPFOR.ServerSapfor.ServerSapforsDBTable;
import Visual_DVM_2021.Passes.All.ZipFolderPass;
import Visual_DVM_2021.Passes.PassCode_2021;
import com.sun.corba.se.spi.activation.Server;
import javafx.util.Pair;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.Serializable;
import java.nio.file.Paths;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.Vector;
public class TestsDatabase extends SQLiteDatabase {
public ConfigurationDBTable configurations;
public ConfigurationDBTable dvm_configurations;
public TestDBTable tests;
public GroupsDBTable groups;
public DVMPackageDBTable dvmPackages;
@@ -57,7 +54,7 @@ public class TestsDatabase extends SQLiteDatabase {
}
@Override
protected void initAllTables() throws Exception {
addTable(configurations = new ConfigurationDBTable());
addTable(dvm_configurations = new ConfigurationDBTable());
addTable(groups = new GroupsDBTable());
addTable(tests = new TestDBTable());
addTable(dvmPackages = new DVMPackageDBTable());
@@ -306,6 +303,6 @@ public class TestsDatabase extends SQLiteDatabase {
public void UnselectAllGTC(){
groups.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.Utils.Utils;
import TestingSystem.DVM.Configuration.UI.ConfigurationFields;
public class ConfigurationDBTable extends iDBTable<Configuration> {
public class ConfigurationDBTable extends iDBTable<DVMConfiguration> {
public ConfigurationDBTable() {
super(Configuration.class);
super(DVMConfiguration.class);
}
@Override
public Current CurrentName() {
@@ -57,7 +57,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
};
}
@Override
public Object getFieldAt(Configuration object, int columnIndex) {
public Object getFieldAt(DVMConfiguration object, int columnIndex) {
switch (columnIndex) {
case 2:
return object.description;
@@ -78,7 +78,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
case 10:
return object.max_dim_proc_count;
case 11:
return object.r_maxtime;
return object.maxtime;
case 12:
return Utils.unpackStrings(object.usr_par, true);
default:
@@ -86,8 +86,8 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
}
}
@Override
public DBObjectDialog<Configuration, ConfigurationFields> getDialog() {
return new DBObjectDialog<Configuration, ConfigurationFields>(ConfigurationFields.class) {
public DBObjectDialog<DVMConfiguration, ConfigurationFields> getDialog() {
return new DBObjectDialog<DVMConfiguration, ConfigurationFields>(ConfigurationFields.class) {
@Override
public int getDefaultHeight() {
return 480;
@@ -111,7 +111,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
public void fillFields() {
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.parList)).fill(Result.getParams());
//------->>>>
@@ -120,7 +120,7 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
fields.sMinDimProc.setValue(Result.min_dim_proc_count);
fields.sMaxDimProc.setValue(Result.max_dim_proc_count);
fields.cbCube.setSelected(Result.cube == 1);
fields.sRunMaxtime.setValue(Result.r_maxtime);
fields.sRunMaxtime.setValue(Result.maxtime);
//-
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.cube = fields.cbCube.isSelected() ? 1 : 0;
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.environments = ((VisualiserStringList) (fields.environmentsList)).pack();
Result.usr_par = ((VisualiserStringList) (fields.parList)).pack();
@@ -157,6 +157,6 @@ public class ConfigurationDBTable extends iDBTable<Configuration> {
}
@Override
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;
import Common.Database.DBObject;
import Common.Database.riDBObject;
import Common.Utils.Utils;
import GlobalData.RunConfiguration.RunConfiguration;
import TestingSystem.Common.Configuration;
import java.util.Vector;
public class Configuration extends riDBObject {
//конфгурация тестирования ДВМ
public class DVMConfiguration extends Configuration {
//компиляция.
public String flags = "\n";
public int c_maxtime = 40;
//матрица
public int cube = 0;
public int cube = 0; //
public int max_proc_count = 4;
public int min_dim_proc_count = 1;
public int max_dim_proc_count = 4;
//запуск
public String environments="\n";
public String usr_par = "";
public int r_maxtime = 300;
//-
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
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 String getFlags() {
return flags;
}
public Configuration(Configuration src){
this.SynchronizeFields(src);
}
public Configuration(){}
//--
public Vector<String> getFlags() {
@Override
public Vector<String> getFlagsArray() {
return Utils.unpackStrings(flags);
}
//-
public Vector<String> getEnvironments() {
return Utils.unpackStrings(environments);
}
@@ -95,7 +82,22 @@ public class Configuration extends riDBObject {
if ((params.size() == 1) && params.get(0).isEmpty()) return "";
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.MachineType;
import GlobalData.User.User;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
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.util.Vector;
public class DVMPackage extends TestingPackage<DVMPackage_json> {
//---
public String machine_name = "";
@@ -56,4 +61,22 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
return (!DVMPackageDBTable.filterMyOnly || Current.getAccount().email.equals(sender_address))&&
(!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;
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 com.google.gson.annotations.Expose;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,8 +3,7 @@ import Common.Current;
import Common.Global;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.Pass_2021;
@@ -12,7 +11,7 @@ import java.util.Vector;
public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
@Override
public String getIconPath() {
return "/icons/LastOpened.png";
return "/icons/Edit.png";
}
@Override
public String getButtonText() {
@@ -35,13 +34,13 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
@Override
protected void showDone() throws Exception {
System.out.println("package="+target.id);
Vector<Configuration> configurations = target.getConfigurations();
Vector<DVMConfiguration> configurations = target.getConfigurations();
Vector<Group> groups = target.getGroups();
Vector<Test> tests = target.getTests();
//-----
Vector<String> res = new Vector<>();
res.add("конфигурации: " + configurations.size());
for (Configuration configuration : configurations)
for (DVMConfiguration configuration : configurations)
res.add(configuration.description);
//--
res.add("группы: " + groups.size());
@@ -53,7 +52,7 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
res.add(test.description);
System.out.println(String.join("\n", res));
//--
for (Configuration configuration: configurations)
for (DVMConfiguration configuration: configurations)
configuration.Select(true);
for (Group group: groups)
group.Select(true);
@@ -68,7 +67,7 @@ public class ShowCurrentDVMPackage extends Pass_2021<DVMPackage> {
Global.testingServer.db.tests.ShowUI(tests.lastElement().id);
}
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;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.StartTestingPackage;
public class StartDVMPackage extends StartTestingPackage<DVMPackage> {
import Visual_DVM_2021.Passes.Server.EditServerObject;
public class StartDVMPackage extends EditServerObject<TestingServer, DVMPackage> {
@Override
public String getIconPath() {
return "/icons/Start.png";
}
public StartDVMPackage() {
super(DVMPackage.class);
super(Global.testingServer,DVMPackage.class);
}
@Override
protected Current getCurrentName() {
return Current.DVMPackage;
protected boolean canStart(Object... args) throws Exception {
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.configurations.ClearUI();
server.db.dvm_configurations.ClearUI();
server.db.groups.ClearUI();
server.db.sapforConfigurations.ClearUI();
server.db.serverSapfors.ClearUI();
@@ -60,7 +60,7 @@ public class SynchronizeTests extends TestingSystemPass<Object> {
protected void showDone() throws Exception {
if (UI.HasMainWindow()) {
//server.db.machines
server.db.configurations.ShowUI();
server.db.dvm_configurations.ShowUI();
server.db.groups.ShowUI();
server.db.sapforConfigurations.ShowUI();
server.db.serverSapfors.ShowUI();

View File

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

View File

@@ -126,7 +126,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
Global.db.users.mountUI(usersPanel);
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.dvmRunTasks.mountUI(dvmRunTasksPanel);
Global.testingServer.db.sapforConfigurations.mountUI(sapforConfigurationsPanel);
@@ -141,7 +141,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
@Override
public void ShowAll() {
Global.db.machines.ShowUI();
Global.testingServer.db.configurations.ShowUI();
Global.testingServer.db.dvm_configurations.ShowUI();
Global.testingServer.db.dvmPackages.ShowUI();
Global.testingServer.db.sapforPackages.ShowUI();
//--