no message

This commit is contained in:
2023-11-08 03:05:29 +03:00
parent 22fd6bb458
commit 4cd1a46c6d
4 changed files with 89 additions and 84 deletions

4
.idea/workspace.xml generated
View File

@@ -8,13 +8,9 @@
<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/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/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/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/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> </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" />

View File

@@ -6,9 +6,11 @@ import ProjectData.Files.FileState;
import ProjectData.Files.FileType; import ProjectData.Files.FileType;
import ProjectData.Files.ProjectFile; import ProjectData.Files.ProjectFile;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import org.apache.commons.io.FileUtils;
import java.io.File; import java.io.File;
import java.io.Serializable; import java.io.Serializable;
import java.nio.charset.Charset;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
@@ -68,11 +70,7 @@ public class SapforVersion_json implements Serializable {
} }
} }
public boolean isMatch(SapforVersion_json version_json) { public boolean isMatch(SapforVersion_json version_json) {
if (!version.equals(version_json.version)) { if (!description.equals(version_json.description)) {
System.out.println("не совпадение имени версии");
return false;
}
if (description.equals(version_json.description)) {
System.out.println("не совпадение описания версии"); System.out.println("не совпадение описания версии");
return false; return false;
} }
@@ -80,6 +78,33 @@ public class SapforVersion_json implements Serializable {
System.out.println("не совпадение количества файлов"); System.out.println("не совпадение количества файлов");
return false; return false;
} }
for (String name1 : files.keySet()) {
if (!version_json.files.containsKey(name1)) {
System.out.println("Файл " + Utils.Brackets(name1) + " не найден в версии " + version_json.Home);
return false; return false;
} }
}
for (String name1 : files.keySet()) {
ProjectFile file1 = files.get(name1);
ProjectFile file2 = version_json.files.get(name1);
//---
String text1 = "";
String text2 = "";
try {
text1 = FileUtils.readFileToString(file1.file, Charset.defaultCharset());
} catch (Exception ex) {
ex.printStackTrace();
}
try {
text2 = FileUtils.readFileToString(file2.file, Charset.defaultCharset());
} catch (Exception ex) {
ex.printStackTrace();
}
if (!text1.equals(text2)) {
System.out.println("различие текста файла " + Utils.Brackets(file1.file.getName()));
return false;
}
}
return true;
}
} }

View File

@@ -12,6 +12,7 @@ import com.sun.org.glassfish.gmbal.Description;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import java.io.File; import java.io.File;
import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class SapforTask extends DBObject { public class SapforTask extends DBObject {
//------------------------------------>> //------------------------------------>>
@@ -54,8 +55,8 @@ public class SapforTask extends DBObject {
@Description("IGNORE") @Description("IGNORE")
public MatchState match = MatchState.Unknown; public MatchState match = MatchState.Unknown;
//----------- //-----------
public String getUniqueKey(){ public String getUniqueKey() {
return sapfor_configuration_id+"_"+group_description+"_"+test_description; return sapfor_configuration_id + "_" + group_description + "_" + test_description;
} }
//----------- //-----------
public SapforTask() { public SapforTask() {
@@ -65,7 +66,6 @@ public class SapforTask extends DBObject {
DefaultMutableTreeNode child = null; DefaultMutableTreeNode child = null;
DefaultMutableTreeNode parent = null; DefaultMutableTreeNode parent = null;
//-- //--
for (SapforVersion_json version_json : versions) { for (SapforVersion_json version_json : versions) {
version_json.init(configurationRoot); version_json.init(configurationRoot);
//- //-
@@ -126,57 +126,47 @@ public class SapforTask extends DBObject {
} }
return String.join("", versionsLines); return String.join("", versionsLines);
} }
/*
public static boolean compareVersionsFiles(SapforVersion_json version1, SapforVersion_json version2, List<String> files) throws Exception {
for (String fileName : files) {
File file1 = new File(version1.version, fileName);
if (!file1.exists()) return false;
File file2 = new File(version2.version, fileName);
if (!file2.exists()) return false;
String text1 = FileUtils.readFileToString(file1, Charset.defaultCharset());
String text2 = FileUtils.readFileToString(file2, Charset.defaultCharset());
if (!text1.equals(text2))
return false;
}
return true;
}
//должны совпасть им теста, флаги, и коды
public boolean isComparable(SapforTask task) throws Exception {
return test_description.equalsIgnoreCase(task.test_description) &&
flags.equalsIgnoreCase(task.flags) &&
codes.equalsIgnoreCase(task.codes);
}
public boolean Compare(SapforTask task, Vector<String> comparisonLog) throws Exception {
/*
//1. сравнить списки файлов. без учета порядка.
if (filesList.size() != task.filesList.size())
return false;
for (String file1 : filesList) {
if (!task.filesList.contains(file1)) {
return false;
}
}
//2. сравнить состояния.
if (!state.equals(task.state))
return false;
//3. сравнить цепочки версий (?)
if (!getVersionsChain().equalsIgnoreCase(task.getVersionsChain()))
return false;
//4. сравнить версии. уже знаем что порядок преобразований идентичен и набор файлов одинаков.
// первая всегда исходная. поэтому не берется.
for (int i = 1; i < versions.size(); ++i) {
SapforVersion_json version1 = versions.get(i);
SapforVersion_json version2 = task.versions.get(i);
//--
if (!compareVersionsFiles(version1, version2, filesList)) return false;
}
return false;
}
*/
@Override @Override
public boolean isVisible() { public boolean isVisible() {
return Current.HasSapforTasksPackage()&&Current.getSapforTasksPackage().id.equals(this.sapfortaskspackage_id); return Current.HasSapforTasksPackage() && Current.getSapforTasksPackage().id.equals(this.sapfortaskspackage_id);
}
public LinkedHashMap<String, SapforVersion_json> getSortedVersions() {
LinkedHashMap<String, SapforVersion_json> res = new LinkedHashMap<>();
for (SapforVersion_json version_json : versions)
res.put(version_json.version, version_json);
//--
for (SapforVersion_json version_json : variants)
res.put(version_json.version, version_json);
return res;
}
public void checkMatch(SapforTask task2) {
if (!state.equals(task2.state)) {
System.out.println("Не совпадение цепочки версий в задаче " + getUniqueKey());
} else if (versions.size() != task2.versions.size()) {
System.out.println("Не совпадение длины цепочки версий в задаче " + getUniqueKey());
} else if (variants.size() != task2.variants.size()) {
System.out.println("Не совпадение длины цепочки вариантов в задаче " + getUniqueKey());
} else {
LinkedHashMap<String, SapforVersion_json> versions1 = getSortedVersions();
LinkedHashMap<String, SapforVersion_json> versions2 = task2.getSortedVersions();
//---
for (String name1 : versions1.keySet()) {
if (!versions2.containsKey(name1)) {
System.out.println("Не совпадение имен версий в задаче " + getUniqueKey());
return;
}
}
//--
for (String name1 : versions1.keySet()) {
SapforVersion_json version1 = versions1.get(name1);
SapforVersion_json version2 = versions2.get(name1);
//---
if (!version1.isMatch(version2)) {
System.out.println("Не совпадение версий в задаче " + getUniqueKey());
return;
}
}
match = MatchState.Match;
}
} }
} }

View File

@@ -174,6 +174,11 @@ public class SapforPackagesComparisonForm {
return false; return false;
} }
@Override @Override
protected void performPreparation() throws Exception {
for (SapforTask task : package1.results.sortedTasks.values())
task.match = MatchState.NotMatch;
}
@Override
protected void showPreparation() throws Exception { protected void showPreparation() throws Exception {
showNoTree(); showNoTree();
slave.showNoTree(); slave.showNoTree();
@@ -182,28 +187,17 @@ public class SapforPackagesComparisonForm {
@Override @Override
protected void body() throws Exception { protected void body() throws Exception {
for (String key1 : package1.results.sortedTasks.keySet()) { for (String key1 : package1.results.sortedTasks.keySet()) {
SapforTask task1 = package1.results.sortedTasks.get(key1); if (!package2.results.sortedTasks.containsKey(key1)) {
if (package2.results.sortedTasks.containsKey(key1)) { Log.Writeln_("Задача эталона " + 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 { if (Log.isEmpty()) {
Log.Writeln_("Задача эталона " + task1.getUniqueKey() + //теперь сравниваем задачи
"не найдена в сравниваемом пакете!"); for (String key1 : package1.results.sortedTasks.keySet()) {
return; SapforTask task1 = package1.results.sortedTasks.get(key1);
SapforTask task2 = package2.results.sortedTasks.get(key1);
//--
task1.checkMatch(task2);
} }
} }
} }