no message

This commit is contained in:
2023-11-08 02:05:21 +03:00
parent 895da62639
commit 22fd6bb458
8 changed files with 115 additions and 17 deletions

8
.idea/workspace.xml generated
View File

@@ -8,7 +8,13 @@
<component name="ChangeListManager">
<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$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksResults_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksResults_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforVersion_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforVersion_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.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/SapforTasksPackage/SapforTasksPackageInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackageInterface.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforVersionsComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforVersionsComparisonForm.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -3,6 +3,7 @@ import GlobalData.Tasks.TaskState;
import SapforTestingSystem.SapforTask.SapforTask;
import com.google.gson.annotations.Expose;
import java.util.Comparator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Vector;
@@ -13,6 +14,15 @@ public class SapforTasksResults_json {
public long EndDate = 0;
@Expose
public List<SapforTask> tasks = new Vector<>();
//задачи по ключам.
public LinkedHashMap<String, SapforTask> sortedTasks = new LinkedHashMap<>();
public void SortTasks() {
//--->>>
tasks.sort(Comparator.comparing(SapforTask::getUniqueKey));
//--->>>
for (SapforTask task : tasks)
sortedTasks.put(task.getUniqueKey(), task);
}
//это для емейла. Не трогать.
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortTasksByStatesConfigurationsAndGroups() {
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> res = new LinkedHashMap<>();

View File

@@ -2,6 +2,7 @@ package SapforTestingSystem.Json;
import Common.Constants;
import Common.Global;
import Common.Utils.Utils;
import ProjectData.Files.FileState;
import ProjectData.Files.FileType;
import ProjectData.Files.ProjectFile;
import com.google.gson.annotations.Expose;
@@ -9,6 +10,7 @@ import com.google.gson.annotations.Expose;
import java.io.File;
import java.io.Serializable;
import java.nio.file.Paths;
import java.util.LinkedHashMap;
import java.util.Vector;
public class SapforVersion_json implements Serializable {
@Expose
@@ -18,7 +20,7 @@ public class SapforVersion_json implements Serializable {
public boolean success = true;
//поля для отображения деревьев.
public File Home = null;
public Vector<ProjectFile> files = null;
public LinkedHashMap<String, ProjectFile> files = new LinkedHashMap<>();
//-
public SapforVersion_json(String version_in, String description_in) {
version = version_in;
@@ -35,15 +37,17 @@ public class SapforVersion_json implements Serializable {
public void init(File configurationRoot) {
String relativePath = Global.isWindows ? Utils.toW(version) : version;
Home = Paths.get(configurationRoot.getAbsolutePath(), relativePath).toFile();
files = new Vector<>();
files = new LinkedHashMap<>();
//--
File[] files_ = Home.listFiles();
if (files_ != null) {
for (File file : files_) {
if (file.isFile()) {
ProjectFile projectFile = new ProjectFile(file);
if (!projectFile.fileType.equals(FileType.forbidden)) {
files.add(projectFile);
if (!projectFile.fileType.equals(FileType.forbidden) &&
!projectFile.state.equals(FileState.Excluded)
) {
files.put(projectFile.file.getName(), projectFile);
}
}
}
@@ -57,10 +61,25 @@ public class SapforVersion_json implements Serializable {
//--
for (File file : out_files) {
if (file.exists()) {
// System.out.println(file.getAbsolutePath());
// System.out.println(file.getAbsolutePath());
ProjectFile projectFile = new ProjectFile(file);
files.add(projectFile);
files.put(projectFile.file.getName(), projectFile);
}
}
}
public boolean isMatch(SapforVersion_json version_json) {
if (!version.equals(version_json.version)) {
System.out.println("не совпадение имени версии");
return false;
}
if (description.equals(version_json.description)) {
System.out.println("не совпадение описания версии");
return false;
}
if (files.size() != version_json.files.size()) {
System.out.println("не совпадение количества файлов");
return false;
}
return false;
}
}

View File

@@ -52,7 +52,11 @@ public class SapforTask extends DBObject {
public Vector<SapforVersion_json> variants = new Vector<>();
//----------
@Description("IGNORE")
public MatchState match = MatchState.Match;
public MatchState match = MatchState.Unknown;
//-----------
public String getUniqueKey(){
return sapfor_configuration_id+"_"+group_description+"_"+test_description;
}
//-----------
public SapforTask() {
}

View File

@@ -59,5 +59,4 @@ public class SapforTasksPackage extends nDBObject {
//---
@Description("IGNORE")
public SapforTasksResults_json results = null;
//---
}

View File

@@ -25,6 +25,7 @@ public class SapforTasksPackageInterface {
try {
res = (SapforTasksResults_json) Utils.jsonFromFile(json_file,
SapforTasksResults_json.class);
res.SortTasks();
} catch (Exception ex) {
ex.printStackTrace();
}

View File

@@ -5,6 +5,8 @@ import Common.UI.Label.ShortLabel;
import Common.UI.Menus_2023.VisualiserMenuBar;
import Common.UI.UI;
import Common.Utils.TextLog;
import SapforTestingSystem.SapforTask.MatchState;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackageInterface;
import SapforTestingSystem.SapforTasksPackage.UI.SapforTasksPackageTree;
@@ -61,19 +63,18 @@ public class SapforPackagesComparisonForm {
}
public void Show() throws Exception {
}
protected void showNoObject() {
public void showNoObject() {
lObjectName.setText("?");
lObjectName.setToolTipText("Объект не назначен.");
UI.Clear(treePanel);
showNoTree();
if (isMaster()) {
UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersionEtalon();
} else {
UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersion();
}
}
protected void showObject() {
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
lObjectName.setToolTipText(object.getPK().toString());
//---
public void showCommonTree() {
if (object.root == null) {
object.root = SapforTasksPackageInterface.buildTree(object);
}
@@ -82,6 +83,17 @@ public class SapforPackagesComparisonForm {
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
)));
}
public void showComparisonTree() {
}
//---
public void showNoTree() {
UI.Clear(treePanel);
}
public void showObject() {
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
lObjectName.setToolTipText(object.getPK().toString());
showCommonTree();
}
protected String getText() {
return "";
}
@@ -145,20 +157,69 @@ public class SapforPackagesComparisonForm {
@Override
protected boolean canStart(Object... args) throws Exception {
if (isReady() && slave.isReady()) {
//--
package1 = object;
package2 = slave.object;
//--
if (!package1.testsIds.equals(package2.testsIds)) {
Log.Writeln_("Наборы тестов пакетов не совпадают!");
return false;
}
if (!package1.configurationsIds.equals(package2.configurationsIds)) {
Log.Writeln_("Наборы конфигураций не совпадают!");
return false;
}
return true;
}
return false;
}
@Override
protected void showPreparation() throws Exception {
showNoTree();
slave.showNoTree();
//--->>>
}
@Override
protected void body() throws Exception {
for (String key1 : package1.results.sortedTasks.keySet()) {
SapforTask task1 = package1.results.sortedTasks.get(key1);
if (package2.results.sortedTasks.containsKey(key1)) {
task1.match = MatchState.Match;
SapforTask task2 = package2.results.sortedTasks.get(key1);
//состояния
if (!task1.state.equals(task2.state)) {
task1.match = MatchState.NotMatch;
System.out.println("Не совпадение цепочки версий в задаче " + task1.getUniqueKey());
} else if (task1.versions.size() != task2.versions.size()) {
task1.match = MatchState.NotMatch;
System.out.println("Не совпадение длины цепочки версий в задаче " + task1.getUniqueKey());
} else if (task1.variants.size()!=task2.variants.size()) {
task1.match = MatchState.NotMatch;
System.out.println("Не совпадение длины цепочки вариантов в задаче " + task1.getUniqueKey());
} else {
}
//файлы в КАЖДОЙ версии. на полное совпадение.
} else {
Log.Writeln_("Задача эталона " + task1.getUniqueKey() +
"не найдена в сравниваемом пакете!");
return;
}
}
}
@Override
protected boolean validate() {
return Log.isEmpty();
}
@Override
protected void showFail() throws Exception {
showCommonTree();
slave.showCommonTree();
}
@Override
protected void showDone() throws Exception {
showComparisonTree();
slave.showComparisonTree();
}
};
pass.Do();

View File

@@ -7,7 +7,6 @@ import ProjectData.Files.ProjectFile;
import SapforTestingSystem.Json.SapforVersion_json;
import javax.swing.*;
import java.util.Vector;
public class SapforVersionsComparisonForm extends ComparisonForm<SapforVersion_json> {
//почти полный клон VersionsComparsionForm. В будущем нужен рефакторинг. Наверное.
Current current;
@@ -69,8 +68,7 @@ public class SapforVersionsComparisonForm extends ComparisonForm<SapforVersion_j
lObjectName.setText(object.toString());
lObjectName.setToolTipText(object.toString());
cbFile.removeAllItems();
Vector<ProjectFile> files = object.files;
for (ProjectFile file : files)
for (ProjectFile file : object.files.values())
cbFile.addItem(file);
}
@Override