fix. в методе keepnewFiles была индийская сортировка. вместо Long.compare было приведение к инту и сравнение. что вызывало исключение.
This commit is contained in:
7
.idea/workspace.xml
generated
7
.idea/workspace.xml
generated
@@ -8,8 +8,13 @@
|
|||||||
<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 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/Common/UI/Menus_2023/TestingBar/TestingBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/TestingBar/TestingBar.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.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/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.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" />
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"ComponentsWindowWidth": 843,
|
"ComponentsWindowWidth": 843,
|
||||||
"ComponentsWindowHeight": 250,
|
"ComponentsWindowHeight": 250,
|
||||||
"VisualiserPath": "C:\\Users\\misha\\Downloads",
|
"VisualiserPath": "C:\\Users\\misha\\Downloads",
|
||||||
"Sapfor_FPath": "E:\\",
|
"Sapfor_FPath": "E:\\_sapfor_x64\\Components\\Sapfor_F",
|
||||||
"Visualizer_2Path": "C:\\Users\\misha\\Documents",
|
"Visualizer_2Path": "C:\\Users\\misha\\Documents",
|
||||||
"InstructionPath": "",
|
"InstructionPath": "",
|
||||||
"PerformanceAnalyzerPath": "",
|
"PerformanceAnalyzerPath": "",
|
||||||
|
|||||||
@@ -1013,13 +1013,14 @@ public class Utils {
|
|||||||
public static int fromBoolean(boolean flag) {
|
public static int fromBoolean(boolean flag) {
|
||||||
return flag ? 1 : 0;
|
return flag ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void keepNewFiles(File directory, int count) throws Exception {
|
public static void keepNewFiles(File directory, int count) throws Exception {
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
File[] old_ = directory.listFiles(pathname -> pathname.isFile());
|
File[] old_ = directory.listFiles(pathname -> pathname.isFile());
|
||||||
if (old_ != null) {
|
if (old_ != null) {
|
||||||
Vector<File> old = new Vector<>();
|
Vector<File> old = new Vector<>();
|
||||||
Collections.addAll(old, old_);
|
Collections.addAll(old, old_);
|
||||||
old.sort((o1, o2) -> (int) (o2.lastModified() - o1.lastModified()));
|
old.sort((o1, o2) -> Long.compare(o2.lastModified(), o1.lastModified()));
|
||||||
for (int i = count - 1; i < old.size(); ++i) {
|
for (int i = count - 1; i < old.size(); ++i) {
|
||||||
File file = old.get(i);
|
File file = old.get(i);
|
||||||
System.out.println(file.getName() + ":" + file.lastModified());
|
System.out.println(file.getName() + ":" + file.lastModified());
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class Visualiser extends Component {
|
|||||||
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
|
||||||
@Override
|
@Override
|
||||||
public void GetVersionInfo() {
|
public void GetVersionInfo() {
|
||||||
version = 1027;
|
version = 1028;
|
||||||
String pattern = "MMM dd yyyy HH:mm:ss";
|
String pattern = "MMM dd yyyy HH:mm:ss";
|
||||||
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
|
||||||
date_text = df.format(getClassBuildTime());
|
date_text = df.format(getClassBuildTime());
|
||||||
|
|||||||
@@ -286,8 +286,6 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
case GetObjectsCopiesByPK:
|
case GetObjectsCopiesByPK:
|
||||||
Print("Получить список копий объектов по ключам");
|
Print("Получить список копий объектов по ключам");
|
||||||
p = (Pair<Class, Object>) request.object;
|
p = (Pair<Class, Object>) request.object;
|
||||||
System.out.println(p.getKey());
|
|
||||||
System.out.println(p.getValue());
|
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
response.object = db.getObjectsCopies(p.getKey(), (Vector<Object>) p.getValue());
|
response.object = db.getObjectsCopies(p.getKey(), (Vector<Object>) p.getValue());
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public class SapforTasksPackage extends nDBObject {
|
|||||||
sapfor_process_name = p.sapfor_process_name;
|
sapfor_process_name = p.sapfor_process_name;
|
||||||
state = p.state;
|
state = p.state;
|
||||||
needsEmail = p.needsEmail;
|
needsEmail = p.needsEmail;
|
||||||
|
summary = p.summary;
|
||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
@Description("IGNORE")
|
@Description("IGNORE")
|
||||||
|
|||||||
@@ -44,9 +44,6 @@ public class SapforTasksPackageSupervisor {
|
|||||||
LinkedHashMap<String, Group> groups = new LinkedHashMap<>();
|
LinkedHashMap<String, Group> groups = new LinkedHashMap<>();
|
||||||
//--
|
//--
|
||||||
System.out.println(sapforTasksPackage.id + " — TestsSynchronize");
|
System.out.println(sapforTasksPackage.id + " — TestsSynchronize");
|
||||||
for (String test_id : testsIds) {
|
|
||||||
System.out.println(Utils.Brackets(test_id));
|
|
||||||
}
|
|
||||||
for (Object o : tests_) {
|
for (Object o : tests_) {
|
||||||
Test test = (Test) o;
|
Test test = (Test) o;
|
||||||
tests.put(test.id, test);
|
tests.put(test.id, test);
|
||||||
@@ -54,20 +51,42 @@ public class SapforTasksPackageSupervisor {
|
|||||||
groupsIds.add(test.group_id);
|
groupsIds.add(test.group_id);
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
Vector<Object> groups_ = (Vector<Object>) planner.ServerCommand(ServerCode.GetObjectsCopiesByPK, "", new Pair<>(Group.class, groupsIds));
|
|
||||||
|
|
||||||
for (Object o : groups_) {
|
|
||||||
Group group = (Group) o;
|
|
||||||
groups.put(group.id, group);
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
for (Object o : configurations_) {
|
for (Object o : configurations_) {
|
||||||
SapforConfiguration sapforConfiguration = (SapforConfiguration) o;
|
SapforConfiguration sapforConfiguration = (SapforConfiguration) o;
|
||||||
configurations.put(sapforConfiguration.id, sapforConfiguration);
|
configurations.put(sapforConfiguration.id, sapforConfiguration);
|
||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
|
Vector<String> badTests = new Vector<>();
|
||||||
|
for (String testId : testsIds)
|
||||||
|
if (!tests.containsKey(testId))
|
||||||
|
badTests.add(testId);
|
||||||
|
//--
|
||||||
|
Vector<String> badConfigurations = new Vector<>();
|
||||||
|
for (String configurationId : configurationsIds)
|
||||||
|
if (!configurations.containsKey(configurationId))
|
||||||
|
badConfigurations.add(configurationId);
|
||||||
|
//--
|
||||||
|
File sapfor_src = new File(sapforTasksPackage.sapfor_drv);
|
||||||
|
//--
|
||||||
|
Vector<String> notFound = new Vector<>();
|
||||||
|
if (!badTests.isEmpty())
|
||||||
|
notFound.add("Несуществующие тесты: " + String.join("\n", badTests));
|
||||||
|
if (!badConfigurations.isEmpty())
|
||||||
|
notFound.add("Несуществующие конфигурации: " + String.join("\n", badConfigurations));
|
||||||
|
if (!sapfor_src.exists()) {
|
||||||
|
notFound.add("Несуществующий SAPFOR: " + Utils.Brackets(sapfor_src.getAbsolutePath()));
|
||||||
|
}
|
||||||
|
if (!notFound.isEmpty()) {
|
||||||
|
sapforTasksPackage.summary = String.join("\n", notFound);
|
||||||
|
System.out.println(sapforTasksPackage.summary);
|
||||||
|
sapforTasksPackage.state = TasksPackageState.Aborted;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Vector<Object> groups_ = (Vector<Object>) planner.ServerCommand(ServerCode.GetObjectsCopiesByPK, "", new Pair<>(Group.class, groupsIds));
|
||||||
|
for (Object o : groups_) {
|
||||||
|
Group group = (Group) o;
|
||||||
|
groups.put(group.id, group);
|
||||||
|
}
|
||||||
//--
|
//--
|
||||||
SapforTasksPackage_json package_json = new SapforTasksPackage_json();
|
SapforTasksPackage_json package_json = new SapforTasksPackage_json();
|
||||||
package_json.kernels = sapforTasksPackage.kernels;
|
package_json.kernels = sapforTasksPackage.kernels;
|
||||||
@@ -82,6 +101,7 @@ public class SapforTasksPackageSupervisor {
|
|||||||
Utils.CheckAndCleanDirectory(packageWorkspace);
|
Utils.CheckAndCleanDirectory(packageWorkspace);
|
||||||
sapforTasksPackage.workspace = packageWorkspace.getAbsolutePath();
|
sapforTasksPackage.workspace = packageWorkspace.getAbsolutePath();
|
||||||
//копирование тестов по конфигурациям.
|
//копирование тестов по конфигурациям.
|
||||||
|
int actual_tasks_count = 0;
|
||||||
for (String configuration_id : configurationsIds) {
|
for (String configuration_id : configurationsIds) {
|
||||||
SapforConfiguration configuration = configurations.get(configuration_id);
|
SapforConfiguration configuration = configurations.get(configuration_id);
|
||||||
//--
|
//--
|
||||||
@@ -100,11 +120,13 @@ public class SapforTasksPackageSupervisor {
|
|||||||
File test_root = new File(configurationWorkspace, test.description);
|
File test_root = new File(configurationWorkspace, test.description);
|
||||||
Utils.CheckAndCleanDirectory(test_root);
|
Utils.CheckAndCleanDirectory(test_root);
|
||||||
FileUtils.copyDirectory(new File(Global.TestsDirectory, test.id), test_root);
|
FileUtils.copyDirectory(new File(Global.TestsDirectory, test.id), test_root);
|
||||||
|
actual_tasks_count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sapforTasksPackage.tasksCount = actual_tasks_count;
|
||||||
//копирование SAPFOR
|
//копирование SAPFOR
|
||||||
File sapforFile = new File(sapforTasksPackage.workspace, Utils.getDateName("SAPFOR_F"));
|
File sapforFile = new File(sapforTasksPackage.workspace, Utils.getDateName("SAPFOR_F"));
|
||||||
FileUtils.copyFile(new File(sapforTasksPackage.sapfor_drv), sapforFile);
|
FileUtils.copyFile(sapfor_src, sapforFile);
|
||||||
if (!sapforFile.setExecutable(true))
|
if (!sapforFile.setExecutable(true))
|
||||||
throw new Exception("Не удалось сделать файл " + sapforFile.getName() + " исполняемым!");
|
throw new Exception("Не удалось сделать файл " + sapforFile.getName() + " исполняемым!");
|
||||||
sapforTasksPackage.sapfor_process_name = package_json.sapfor_drv = sapforFile.getName();
|
sapforTasksPackage.sapfor_process_name = package_json.sapfor_drv = sapforFile.getName();
|
||||||
|
|||||||
@@ -216,9 +216,6 @@ public class TestingPlanner {
|
|||||||
switch (sapforTasksPackage.state) {
|
switch (sapforTasksPackage.state) {
|
||||||
case RunningExecution:
|
case RunningExecution:
|
||||||
case Aborted:
|
case Aborted:
|
||||||
message = new EmailMessage();
|
|
||||||
message.subject = "Состояние пакета задач SAPFOR" + Utils.Brackets(sapforTasksPackage.id) + " изменилось на " + Utils.Brackets(sapforTasksPackage.state.getDescription());
|
|
||||||
break;
|
|
||||||
case Done:
|
case Done:
|
||||||
//результаты.
|
//результаты.
|
||||||
message = new EmailMessage();
|
message = new EmailMessage();
|
||||||
|
|||||||
Reference in New Issue
Block a user