no message
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -8,13 +8,9 @@
|
||||
<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/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" />
|
||||
|
||||
@@ -6,9 +6,11 @@ import ProjectData.Files.FileState;
|
||||
import ProjectData.Files.FileType;
|
||||
import ProjectData.Files.ProjectFile;
|
||||
import com.google.gson.annotations.Expose;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.Serializable;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
@@ -68,11 +70,7 @@ public class SapforVersion_json implements Serializable {
|
||||
}
|
||||
}
|
||||
public boolean isMatch(SapforVersion_json version_json) {
|
||||
if (!version.equals(version_json.version)) {
|
||||
System.out.println("не совпадение имени версии");
|
||||
return false;
|
||||
}
|
||||
if (description.equals(version_json.description)) {
|
||||
if (!description.equals(version_json.description)) {
|
||||
System.out.println("не совпадение описания версии");
|
||||
return false;
|
||||
}
|
||||
@@ -80,6 +78,33 @@ public class SapforVersion_json implements Serializable {
|
||||
System.out.println("не совпадение количества файлов");
|
||||
return false;
|
||||
}
|
||||
for (String name1 : files.keySet()) {
|
||||
if (!version_json.files.containsKey(name1)) {
|
||||
System.out.println("Файл " + Utils.Brackets(name1) + " не найден в версии " + version_json.Home);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.sun.org.glassfish.gmbal.Description;
|
||||
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import java.io.File;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class SapforTask extends DBObject {
|
||||
//------------------------------------>>
|
||||
@@ -54,8 +55,8 @@ public class SapforTask extends DBObject {
|
||||
@Description("IGNORE")
|
||||
public MatchState match = MatchState.Unknown;
|
||||
//-----------
|
||||
public String getUniqueKey(){
|
||||
return sapfor_configuration_id+"_"+group_description+"_"+test_description;
|
||||
public String getUniqueKey() {
|
||||
return sapfor_configuration_id + "_" + group_description + "_" + test_description;
|
||||
}
|
||||
//-----------
|
||||
public SapforTask() {
|
||||
@@ -65,7 +66,6 @@ public class SapforTask extends DBObject {
|
||||
DefaultMutableTreeNode child = null;
|
||||
DefaultMutableTreeNode parent = null;
|
||||
//--
|
||||
|
||||
for (SapforVersion_json version_json : versions) {
|
||||
version_json.init(configurationRoot);
|
||||
//-
|
||||
@@ -126,57 +126,47 @@ public class SapforTask extends DBObject {
|
||||
}
|
||||
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
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,6 +174,11 @@ public class SapforPackagesComparisonForm {
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void performPreparation() throws Exception {
|
||||
for (SapforTask task : package1.results.sortedTasks.values())
|
||||
task.match = MatchState.NotMatch;
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
showNoTree();
|
||||
slave.showNoTree();
|
||||
@@ -182,28 +187,17 @@ public class SapforPackagesComparisonForm {
|
||||
@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 {
|
||||
|
||||
if (!package2.results.sortedTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
//файлы в КАЖДОЙ версии. на полное совпадение.
|
||||
} else {
|
||||
Log.Writeln_("Задача эталона " + task1.getUniqueKey() +
|
||||
"не найдена в сравниваемом пакете!");
|
||||
return;
|
||||
}
|
||||
if (Log.isEmpty()) {
|
||||
//теперь сравниваем задачи
|
||||
for (String key1 : package1.results.sortedTasks.keySet()) {
|
||||
SapforTask task1 = package1.results.sortedTasks.get(key1);
|
||||
SapforTask task2 = package2.results.sortedTasks.get(key1);
|
||||
//--
|
||||
task1.checkMatch(task2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user