no message
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -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" />
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
//------------------------------------>>
|
//------------------------------------>>
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user