fix умножения сапфоровских задач
v++
This commit is contained in:
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||
@Override
|
||||
public void GetVersionInfo() {
|
||||
version = 1162;
|
||||
version = 1163;
|
||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||
date_text = df.format(getClassBuildTime());
|
||||
|
||||
@@ -29,6 +29,8 @@ public class Test extends riDBObject {
|
||||
public int group_id = CommonConstants.Nan;
|
||||
@Description("DEFAULT ''")
|
||||
public String files = ""; //файлы теста
|
||||
@Description("DEFAULT ''")
|
||||
public String extended_description="";
|
||||
//--------------------------------------------->>>
|
||||
@Description("IGNORE")
|
||||
public String temp_project_name = "";
|
||||
@@ -48,6 +50,7 @@ public class Test extends riDBObject {
|
||||
max_dim = t.max_dim;
|
||||
args = t.args;
|
||||
group_id = t.group_id;
|
||||
extended_description = t.extended_description;
|
||||
}
|
||||
@Override
|
||||
public void select(boolean flag) {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package _VisualDVM.TestingSystem.SAPFOR.Json;
|
||||
import Common.CommonConstants;
|
||||
import _VisualDVM.GlobalData.Tasks.TaskState;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Test;
|
||||
import _VisualDVM.ServerObjectsCache.SapforConfigurationCache;
|
||||
import _VisualDVM.ServerObjectsCache.VisualCaches;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.SapforTask.ComparisonState;
|
||||
@@ -40,25 +41,27 @@ public class SapforPackage_json implements Serializable {
|
||||
//---
|
||||
public SapforPackage_json() {
|
||||
}
|
||||
public SapforPackage_json(ServerSapfor serverSapfor, LinkedHashMap<String, Test> testsByDescriptions, Vector<SapforConfiguration> configurations, int kernels_in) {
|
||||
public SapforPackage_json(ServerSapfor serverSapfor, Vector<SapforConfiguration> configurations, int kernels_in) {
|
||||
sapfor_drv = serverSapfor.call_command;
|
||||
kernels = kernels_in;
|
||||
//рудимент от формирования пакетов. возможно, объединить с текущим классом.
|
||||
SapforTestingSet_json testingSet = new SapforTestingSet_json(testsByDescriptions, configurations);
|
||||
testingSet.id = getMaxSetId();
|
||||
testingSets.add(testingSet);
|
||||
//формирование задач
|
||||
LinkedHashMap<String, SapforTask> sortedTasks = new LinkedHashMap<>();
|
||||
for (SapforConfiguration_json sapforConfiguration_json : testingSet.configurations) {
|
||||
for (SapforTest_json test : testingSet.tests) {
|
||||
SapforTask task = new SapforTask(testingSet, test, sapforConfiguration_json);
|
||||
if (!sortedTasks.containsKey(task.getUniqueKey())) {
|
||||
task.id = getMaxTaskId();
|
||||
sortedTasks.put(task.getUniqueKey(), task);
|
||||
for (SapforConfiguration sapforConfiguration : configurations) {
|
||||
SapforTestingSet_json testingSet = new SapforTestingSet_json(((SapforConfigurationCache) VisualCaches.GetCache(sapforConfiguration)).getTests(), sapforConfiguration);
|
||||
testingSet.id = getMaxSetId();
|
||||
testingSets.add(testingSet);
|
||||
// формирование задач
|
||||
LinkedHashMap<String, SapforTask> sortedTasks = new LinkedHashMap<>();
|
||||
//здесь из за совместимости. на самом деле это параметры а не конфигурации. но название старое.
|
||||
for (SapforConfiguration_json sapforConfiguration_json : testingSet.configurations) {
|
||||
for (SapforTest_json test : testingSet.tests) {
|
||||
SapforTask task = new SapforTask(testingSet, test, sapforConfiguration_json);
|
||||
if (!sortedTasks.containsKey(task.getUniqueKey())) {
|
||||
task.id = getMaxTaskId();
|
||||
sortedTasks.put(task.getUniqueKey(), task);
|
||||
}
|
||||
}
|
||||
}
|
||||
tasks.addAll(sortedTasks.values());
|
||||
}
|
||||
tasks.addAll(sortedTasks.values());
|
||||
}
|
||||
public int getMaxSetId() {
|
||||
return max_set_id++;
|
||||
@@ -187,8 +190,6 @@ public class SapforPackage_json implements Serializable {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Vector<String> getConfigurationsNames() {
|
||||
Vector<String> names = new Vector<>();
|
||||
for (SapforTestingSet_json set : testingSets) {
|
||||
|
||||
@@ -8,24 +8,23 @@ import _VisualDVM.TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
public class SapforTestingSet_json implements Serializable {
|
||||
//устаревшее название. на самом деле соответствует конфигурации
|
||||
@Expose
|
||||
public int id = CommonConstants.Nan;
|
||||
@Expose
|
||||
public List<SapforTest_json> tests = new Vector<>();
|
||||
//устаревшее название. на самом деле соответствует параметрам тестирования
|
||||
@Expose
|
||||
public List<SapforConfiguration_json> configurations = new Vector<>();
|
||||
public SapforTestingSet_json() {
|
||||
}
|
||||
public SapforTestingSet_json(LinkedHashMap<String, Test> testsByDescriptions, Vector<SapforConfiguration> sapforConfigurations) {
|
||||
for (Test test : testsByDescriptions.values())
|
||||
public SapforTestingSet_json(Vector<Test> tests_in, SapforConfiguration configuration) {
|
||||
for (Test test : tests_in)
|
||||
tests.add(new SapforTest_json(test));
|
||||
for (SapforConfiguration configuration : sapforConfigurations) {
|
||||
for (SapforSettings sapforSettings : ((SapforConfigurationCache) VisualCaches.GetCache(configuration)).getSettings())
|
||||
configurations.add(new SapforConfiguration_json(sapforSettings));
|
||||
}
|
||||
for (SapforSettings sapforSettings : ((SapforConfigurationCache) VisualCaches.GetCache(configuration)).getSettings())
|
||||
configurations.add(new SapforConfiguration_json(sapforSettings));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,10 @@ import _VisualDVM.ServerObjectsCache.SapforConfigurationCache;
|
||||
import _VisualDVM.ServerObjectsCache.VisualCaches;
|
||||
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
|
||||
import _VisualDVM.TestingSystem.Common.Group.Group;
|
||||
import _VisualDVM.TestingSystem.Common.Test.Test;
|
||||
import _VisualDVM.TestingSystem.SAPFOR.SapforSettings.SapforSettings;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class SapforConfiguration extends Configuration {
|
||||
public SapforConfiguration(SapforConfiguration sapforConfiguration) {
|
||||
@@ -20,6 +22,7 @@ public class SapforConfiguration extends Configuration {
|
||||
//--
|
||||
Vector<Group> groups = cache.getGroups();
|
||||
Vector<SapforSettings> settingsArray = cache.getSettings();
|
||||
Vector<Test> tests= cache.getTests();
|
||||
//--
|
||||
Vector<LanguageName> groupsLanguages = new Vector<>();
|
||||
for (Group group : groups) {
|
||||
@@ -39,6 +42,16 @@ public class SapforConfiguration extends Configuration {
|
||||
Log.Writeln_("Поддерживается пакетный режим только для языка Fortran");
|
||||
}
|
||||
//-
|
||||
LinkedHashMap<String, Test> testsByDescriptions = new LinkedHashMap<>();
|
||||
for (Test test : tests) {
|
||||
String l_description = test.description.toLowerCase();
|
||||
if (testsByDescriptions.containsKey(l_description)) {
|
||||
Log.Writeln_("В конфигурацию тестирования SAPFOR не могут входить тесты с одинаковыми именами (без учета регистра):" + test.description.toLowerCase());
|
||||
} else {
|
||||
testsByDescriptions.put(l_description, test);
|
||||
}
|
||||
}
|
||||
//-
|
||||
return Log.isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,29 +54,18 @@ public class SapforPackage extends TestingPackage<SapforPackage_json> {
|
||||
//--
|
||||
boolean valid = true;
|
||||
//проверка исходных данных тестов и групп
|
||||
LinkedHashMap<String, Test> testsByDescriptions = new LinkedHashMap<>();
|
||||
//--
|
||||
kernels = 1;
|
||||
for (SapforConfiguration configuration : configurations) {
|
||||
kernels = Math.max(configuration.kernels, kernels);
|
||||
configuration.validate(Log);
|
||||
//-
|
||||
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(configuration);
|
||||
//--
|
||||
for (Test test : cache.getTests()) {
|
||||
String l_description = test.description.toLowerCase();
|
||||
if (testsByDescriptions.containsKey(l_description)) {
|
||||
Log.Writeln_("В пакет не могут входить тесты с одинаковыми именами (без учета регистра):" + test.description.toLowerCase());
|
||||
valid = false;
|
||||
} else {
|
||||
testsByDescriptions.put(l_description, test);
|
||||
}
|
||||
}
|
||||
}
|
||||
valid = Log.isEmpty();
|
||||
//формирование задач.
|
||||
if (valid) {
|
||||
package_json = new SapforPackage_json(serverSapfor, testsByDescriptions, configurations, kernels);
|
||||
//тесты в рамках конфиги уникальны значит пересечения по папкам уже не будет.
|
||||
package_json = new SapforPackage_json(serverSapfor, configurations, kernels);
|
||||
tasksCount = package_json.tasks.size();
|
||||
saveConfigurationsAsJson(configurations);
|
||||
if (configurations.size() == 1 && configurations.get(0).ethalon_id != CommonConstants.Nan) {
|
||||
|
||||
@@ -32,6 +32,8 @@ public class SapforTask extends DBObject {
|
||||
@Expose
|
||||
public String group_description = "";
|
||||
@Expose
|
||||
public String configuration_description = "";
|
||||
@Expose
|
||||
public String flags = "";
|
||||
@Expose
|
||||
public String codes = "";
|
||||
@@ -69,6 +71,7 @@ public class SapforTask extends DBObject {
|
||||
//-- unique key--
|
||||
group_description = test.group_description;
|
||||
test_description = test.description;
|
||||
configuration_description = sapforConfiguration_json.name;
|
||||
sapfor_configuration_id = sapforConfiguration_json.id;
|
||||
//---------------
|
||||
flags = sapforConfiguration_json.flags;
|
||||
@@ -109,6 +112,7 @@ public class SapforTask extends DBObject {
|
||||
//-
|
||||
test_description = t.test_description;
|
||||
group_description = t.group_description;
|
||||
configuration_description = t.configuration_description;
|
||||
versionsDescription = t.versionsDescription;
|
||||
//--
|
||||
codes = t.codes;
|
||||
@@ -222,8 +226,13 @@ public class SapforTask extends DBObject {
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
return
|
||||
"#" + id + " группа " + Utils_.Brackets(group_description) + " тест " + Utils_.Brackets(test_description) + " параметры " + Utils_.Brackets(sapfor_configuration_id);
|
||||
"#" + id + " группа "
|
||||
+ Utils_.Brackets(group_description) +
|
||||
" тест " + Utils_.Brackets(test_description)
|
||||
+ " параметры "
|
||||
+ Utils_.Brackets(configuration_description.isEmpty()?sapfor_configuration_id: configuration_description);
|
||||
// getUniqueKey();
|
||||
}
|
||||
public String getPassesInfo() {
|
||||
|
||||
@@ -61,6 +61,7 @@ public class MainMenuBar extends VisualiserMenuBar {
|
||||
//-
|
||||
setPreferredSize(new Dimension(0, 30));
|
||||
//--
|
||||
/*
|
||||
add(new MenuBarButton() {
|
||||
{
|
||||
setIcon("/Common/icons/Apply.png");
|
||||
@@ -70,6 +71,7 @@ public class MainMenuBar extends VisualiserMenuBar {
|
||||
});
|
||||
}
|
||||
});
|
||||
*/
|
||||
//--
|
||||
add(new JSeparator());
|
||||
add(MachineButton = new MenuBarButton() {
|
||||
|
||||
@@ -265,6 +265,9 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
roText.setText(object.getOutput());
|
||||
reText.setText(object.getErrors());
|
||||
stsText.setText(object.getStatistic());
|
||||
//-
|
||||
Global.testingServer.db.groups.getUI().SetCurrentByPK(object.group_id);
|
||||
Global.testingServer.db.tests.getUI().SetCurrentByPK(object.test_id);
|
||||
}
|
||||
@Override
|
||||
public void ShowNoCurrentDVMTask() {
|
||||
|
||||
Reference in New Issue
Block a user