рефакторинг сравнения

This commit is contained in:
2024-02-26 00:36:35 +03:00
parent 848d95ee14
commit 75c196f611
16 changed files with 149 additions and 119 deletions

View File

@@ -1,17 +1,17 @@
package TestingSystem.SAPFOR.Json;
import GlobalData.Tasks.TaskState;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.MatchState;
import TestingSystem.SAPFOR.SapforTask.ComparisonState;
import TestingSystem.SAPFOR.SapforTask.SapforTask;
import TestingSystem.SAPFOR.SapforTasksPackage.UI.PackageComparisonSummary;
import TestingSystem.SAPFOR.SapforTasksPackage.UI.PackageSummary;
import com.google.gson.annotations.Expose;
import javax.swing.tree.DefaultMutableTreeNode;
import java.io.File;
import java.io.Serializable;
import java.nio.file.Paths;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Vector;
public class SapforPackage_json implements Serializable {
@@ -77,14 +77,16 @@ public class SapforPackage_json implements Serializable {
//---------
public void DropComparison() {
comparison_root = null;
for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown;
for (SapforTask task : tasks) {
task.comparisonState = ComparisonState.Unknown;
for (SapforVersion_json version : task.versions)
version.comparisonState = VersionComparisonState.Unknown;
for (SapforVersion_json version : task.variants)
version.comparisonState = VersionComparisonState.Unknown;
}
}
public void buildTree(SapforPackage package_in) {
//--
for (SapforTask task : tasks)
task.comparisonState = MatchState.Unknown;
//---
root = new PackageSummary();
root.count = tasks.size();
root.errors_count = 0;
@@ -116,8 +118,25 @@ public class SapforPackage_json implements Serializable {
String.valueOf(task.sapfor_configuration_id)
).toFile());
comparison_root.add(taskNode);
if (task.comparisonState.equals(MatchState.NotMatch))
if (task.comparisonState.equals(ComparisonState.NotMatch))
comparison_root.mismatches_count++;
}
}
public void getVersionsFiles(SapforPackage package_in) {
for (SapforTask task : tasks) {
File configurationRoot = Paths.get(
package_in.getLocalWorkspace().getAbsolutePath(),
String.valueOf(task.set_id),
String.valueOf(task.sapfor_configuration_id)
).toFile();
for (SapforVersion_json version_json : task.versions) {
version_json.task = task;
version_json.getFiles(configurationRoot);
}
for (SapforVersion_json version_json : task.variants) {
version_json.task = task;
version_json.getFiles(configurationRoot);
}
}
}
}

View File

@@ -1,7 +0,0 @@
package TestingSystem.SAPFOR.Json;
public enum SapforVersionMatchState {
Unknown,
Match, //версия совпадает
FilesQuantityMissmatch, //количество выходных файлов в версии не совпадает
CodeMissmatch //код файлов не совпадает.
}

View File

@@ -2,6 +2,5 @@ package TestingSystem.SAPFOR.Json;
import java.io.Serializable;
public enum SapforVersionState implements Serializable {
Empty, //версия оказалась пуста.
Normal, //версия построена
HasErrors //в журнале версии есть ошибки. то есть, не удалось построить следующую версию.
Normal //версия построена
}

View File

@@ -37,8 +37,8 @@ public class SapforVersion_json implements Serializable {
public SapforTask task = null; //родная задача. Нужна для построения дерева версий.
public db_project_info project = null;
//--
public SapforVersionState state = SapforVersionState.Empty;
public SapforVersionMatchState matchState = SapforVersionMatchState.Unknown;
public SapforVersionState state = null;
public VersionComparisonState comparisonState = null;
//--
public SapforVersion_json(String version_in, String description_in) {
version = version_in;
@@ -49,10 +49,10 @@ public class SapforVersion_json implements Serializable {
description = description_in;
}
public SapforVersionState init(File configurationRoot) {
public void getFiles(File configurationRoot) {
//--
state = SapforVersionState.Empty;
matchState = SapforVersionMatchState.Unknown;
comparisonState = VersionComparisonState.Unknown;
//--
String relativePath = Global.isWindows ? Utils.toW(version) : version;
Home = Paths.get(configurationRoot.getAbsolutePath(), relativePath).toFile();
@@ -76,7 +76,6 @@ public class SapforVersion_json implements Serializable {
parse_err = new ProjectFile(Paths.get(Home.getAbsolutePath(), Constants.data, Constants.parse_err_file).toFile());
out = new ProjectFile(Paths.get(Home.getAbsolutePath(), Constants.data, Constants.out_file).toFile());
err = new ProjectFile(Paths.get(Home.getAbsolutePath(), Constants.data, Constants.err_file).toFile());
return state;
}
public boolean isMatch(SapforVersion_json version_json) {
if (!description.equals(version_json.description)) {
@@ -292,6 +291,6 @@ public class SapforVersion_json implements Serializable {
}
@Override
public String toString() {
return Home.getName() + " : " + Utils.Brackets(description);
return Home.getName() + " : " + Utils.Brackets(description)+" файлы: " +files.size();
}
}

View File

@@ -0,0 +1,6 @@
package TestingSystem.SAPFOR.Json;
public enum VersionComparisonState {
Unknown,
Match, //версия совпадает
NotMatch
}