промежуточный. 1 вариант сравнения пакетов написан. отлаживается.
This commit is contained in:
2
.idea/workspace.xml
generated
2
.idea/workspace.xml
generated
@@ -9,9 +9,7 @@
|
|||||||
<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/SapforTasksResults_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksResults_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/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.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" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
|||||||
@@ -3,8 +3,12 @@ import Common.Utils.Utils;
|
|||||||
import GlobalData.Tasks.TaskState;
|
import GlobalData.Tasks.TaskState;
|
||||||
import SapforTestingSystem.SapforTask.MatchState;
|
import SapforTestingSystem.SapforTask.MatchState;
|
||||||
import SapforTestingSystem.SapforTask.SapforTask;
|
import SapforTestingSystem.SapforTask.SapforTask;
|
||||||
|
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
|
||||||
|
import SapforTestingSystem.SapforTasksPackage.UI.*;
|
||||||
import com.google.gson.annotations.Expose;
|
import com.google.gson.annotations.Expose;
|
||||||
|
|
||||||
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
|
import java.io.File;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -21,6 +25,99 @@ public class SapforTasksResults_json {
|
|||||||
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = new LinkedHashMap<>();
|
public LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = new LinkedHashMap<>();
|
||||||
//-- задачи, отсортированные для сравнения.
|
//-- задачи, отсортированные для сравнения.
|
||||||
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> comparisonSortedTasks = new LinkedHashMap<>();
|
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> comparisonSortedTasks = new LinkedHashMap<>();
|
||||||
|
//----
|
||||||
|
public PackageSummary root = null;
|
||||||
|
//--
|
||||||
|
public DefaultMutableTreeNode comparison_root = null;
|
||||||
|
//---
|
||||||
|
public void buildTree(SapforTasksPackage package_in) {
|
||||||
|
root = new PackageSummary();
|
||||||
|
//---
|
||||||
|
for (TaskState state : sortedTasks.keySet()) {
|
||||||
|
//--
|
||||||
|
StateSummary stateSummary = new StateSummary(state);
|
||||||
|
//--
|
||||||
|
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = sortedTasks.get(state);
|
||||||
|
for (String configuration_id : tasksByConfigurations.keySet()) {
|
||||||
|
//--
|
||||||
|
DefaultMutableTreeNode configurationNode = null;
|
||||||
|
//--
|
||||||
|
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = tasksByConfigurations.get(configuration_id);
|
||||||
|
for (String group : groups_tasks.keySet()) {
|
||||||
|
//--
|
||||||
|
GroupSummary groupSummary = new GroupSummary(group);
|
||||||
|
//--
|
||||||
|
for (SapforTask task : groups_tasks.get(group)) {
|
||||||
|
//--
|
||||||
|
stateSummary.count++;
|
||||||
|
root.count++;
|
||||||
|
//--
|
||||||
|
if (configurationNode == null) {
|
||||||
|
configurationNode = new ConfigurationSummary(configuration_id, task);
|
||||||
|
}
|
||||||
|
//--
|
||||||
|
groupSummary.add(task.getVersionsTree(new File(package_in.getLocalWorkspace(), configuration_id)));
|
||||||
|
}
|
||||||
|
if (configurationNode != null)
|
||||||
|
configurationNode.add(groupSummary);
|
||||||
|
}
|
||||||
|
stateSummary.add(configurationNode);
|
||||||
|
}
|
||||||
|
if (stateSummary.count > 0) {
|
||||||
|
root.add(stateSummary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void buildComparisonTree(SapforTasksPackage package_in) {
|
||||||
|
comparison_root = new PackageSummary();
|
||||||
|
for (MatchState match_state : comparisonSortedTasks.keySet()) {
|
||||||
|
//--
|
||||||
|
MatchesSummary matchesSummary = new MatchesSummary(match_state);
|
||||||
|
//---
|
||||||
|
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> task_states = comparisonSortedTasks.get(match_state);
|
||||||
|
//---
|
||||||
|
for (TaskState state : task_states.keySet()) {
|
||||||
|
//--
|
||||||
|
StateSummary stateSummary = new StateSummary(state);
|
||||||
|
//--
|
||||||
|
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
|
||||||
|
for (String configuration_id : tasksByConfigurations.keySet()) {
|
||||||
|
//--
|
||||||
|
DefaultMutableTreeNode configurationNode = null;
|
||||||
|
//--
|
||||||
|
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = tasksByConfigurations.get(configuration_id);
|
||||||
|
for (String group : groups_tasks.keySet()) {
|
||||||
|
//--
|
||||||
|
GroupSummary groupSummary = new GroupSummary(group);
|
||||||
|
//--
|
||||||
|
for (SapforTask task : groups_tasks.get(group)) {
|
||||||
|
//--
|
||||||
|
stateSummary.count++;
|
||||||
|
matchesSummary.count++;
|
||||||
|
root.count++;
|
||||||
|
//--
|
||||||
|
if (configurationNode == null) {
|
||||||
|
configurationNode = new ConfigurationSummary(configuration_id, task);
|
||||||
|
}
|
||||||
|
//--
|
||||||
|
groupSummary.add(task.getVersionsTree(new File(package_in.getLocalWorkspace(), configuration_id)));
|
||||||
|
}
|
||||||
|
if (configurationNode != null)
|
||||||
|
configurationNode.add(groupSummary);
|
||||||
|
}
|
||||||
|
stateSummary.add(configurationNode);
|
||||||
|
}
|
||||||
|
if (stateSummary.count > 0) {
|
||||||
|
matchesSummary.add(stateSummary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---
|
||||||
|
if (matchesSummary.count > 0) {
|
||||||
|
root.add(matchesSummary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----
|
||||||
public void SortTasks() {
|
public void SortTasks() {
|
||||||
sortedTasks.clear();
|
sortedTasks.clear();
|
||||||
//--
|
//--
|
||||||
@@ -159,43 +256,4 @@ public class SapforTasksResults_json {
|
|||||||
res = String.join("\n", summary_lines);
|
res = String.join("\n", summary_lines);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//---
|
|
||||||
/*
|
|
||||||
public LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortTasksForComparisonTree() {
|
|
||||||
LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> res = new LinkedHashMap<>();
|
|
||||||
for (MatchState matchState : MatchState.values()) {
|
|
||||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> state_tasks = new LinkedHashMap<>();
|
|
||||||
res.put(matchState, state_tasks);
|
|
||||||
//--
|
|
||||||
for (TaskState state : TaskState.values()) {
|
|
||||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> configuration_tasks = new LinkedHashMap<>();
|
|
||||||
state_tasks.put(state, configuration_tasks);
|
|
||||||
//--
|
|
||||||
for (SapforTask task : tasks) {
|
|
||||||
if (task.match.equals(matchState) && task.state.equals(state)) {
|
|
||||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = null;
|
|
||||||
if (configuration_tasks.containsKey(task.sapfor_configuration_id)) {
|
|
||||||
groups_tasks = configuration_tasks.get(task.sapfor_configuration_id);
|
|
||||||
} else {
|
|
||||||
groups_tasks = new LinkedHashMap<>();
|
|
||||||
configuration_tasks.put(task.sapfor_configuration_id, groups_tasks);
|
|
||||||
}
|
|
||||||
Vector<SapforTask> tasks = null;
|
|
||||||
if (groups_tasks.containsKey(task.group_description)) {
|
|
||||||
tasks = groups_tasks.get(task.group_description);
|
|
||||||
} else {
|
|
||||||
tasks = new Vector<>();
|
|
||||||
groups_tasks.put(task.group_description, tasks);
|
|
||||||
}
|
|
||||||
tasks.add(task);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
//рассортировать задачи по конфигурациям.
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
@@ -4,22 +4,14 @@ import Common.Database.DBObject;
|
|||||||
import Common.Database.nDBObject;
|
import Common.Database.nDBObject;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Tasks.TaskState;
|
|
||||||
import SapforTestingSystem.Json.SapforTasksResults_json;
|
import SapforTestingSystem.Json.SapforTasksResults_json;
|
||||||
import SapforTestingSystem.SapforTask.SapforTask;
|
import SapforTestingSystem.SapforTask.SapforTask;
|
||||||
import SapforTestingSystem.SapforTasksPackage.UI.ConfigurationSummary;
|
|
||||||
import SapforTestingSystem.SapforTasksPackage.UI.GroupSummary;
|
|
||||||
import SapforTestingSystem.SapforTasksPackage.UI.PackageSummary;
|
|
||||||
import SapforTestingSystem.SapforTasksPackage.UI.StateSummary;
|
|
||||||
import TestingSystem.TasksPackage.TasksPackageState;
|
import TestingSystem.TasksPackage.TasksPackageState;
|
||||||
import com.sun.org.glassfish.gmbal.Description;
|
import com.sun.org.glassfish.gmbal.Description;
|
||||||
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Vector;
|
|
||||||
public class SapforTasksPackage extends nDBObject {
|
public class SapforTasksPackage extends nDBObject {
|
||||||
@Description("DEFAULT ''")
|
@Description("DEFAULT ''")
|
||||||
public String testsNames = "";//имена тестов через ; для отображения
|
public String testsNames = "";//имена тестов через ; для отображения
|
||||||
@@ -66,11 +58,6 @@ public class SapforTasksPackage extends nDBObject {
|
|||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
@Description("IGNORE")
|
@Description("IGNORE")
|
||||||
public PackageSummary root = null;
|
|
||||||
@Description("IGNORE")
|
|
||||||
public DefaultMutableTreeNode comparison_root = null;
|
|
||||||
//---
|
|
||||||
@Description("IGNORE")
|
|
||||||
public SapforTasksResults_json results = null;
|
public SapforTasksResults_json results = null;
|
||||||
///---
|
///---
|
||||||
public File getArchive() {
|
public File getArchive() {
|
||||||
@@ -85,7 +72,7 @@ public class SapforTasksPackage extends nDBObject {
|
|||||||
public boolean isLoaded() {
|
public boolean isLoaded() {
|
||||||
return getLoadedSign().exists();
|
return getLoadedSign().exists();
|
||||||
}
|
}
|
||||||
public void getLocalResults() {
|
public void readResults() {
|
||||||
File json_file = new File(getLocalWorkspace(), Constants.results_json);
|
File json_file = new File(getLocalWorkspace(), Constants.results_json);
|
||||||
results = null;
|
results = null;
|
||||||
try {
|
try {
|
||||||
@@ -98,108 +85,10 @@ public class SapforTasksPackage extends nDBObject {
|
|||||||
//---
|
//---
|
||||||
results.SortTasks(); //по состояниям конфигурациям и группам
|
results.SortTasks(); //по состояниям конфигурациям и группам
|
||||||
//---
|
//---
|
||||||
|
results.buildTree(this);
|
||||||
|
//---
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void buildTree() {
|
|
||||||
//--
|
|
||||||
if (results == null) {
|
|
||||||
getLocalResults();
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
root = new PackageSummary();
|
|
||||||
//---
|
|
||||||
for (TaskState state : results.sortedTasks.keySet()) {
|
|
||||||
//--
|
|
||||||
StateSummary stateSummary = new StateSummary(state);
|
|
||||||
//--
|
|
||||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = results.sortedTasks.get(state);
|
|
||||||
for (String configuration_id : tasksByConfigurations.keySet()) {
|
|
||||||
//--
|
|
||||||
DefaultMutableTreeNode configurationNode = null;
|
|
||||||
//--
|
|
||||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = tasksByConfigurations.get(configuration_id);
|
|
||||||
for (String group : groups_tasks.keySet()) {
|
|
||||||
//--
|
|
||||||
GroupSummary groupSummary = new GroupSummary(group);
|
|
||||||
//--
|
|
||||||
for (SapforTask task : groups_tasks.get(group)) {
|
|
||||||
//--
|
|
||||||
stateSummary.count++;
|
|
||||||
root.count++;
|
|
||||||
//--
|
|
||||||
if (configurationNode == null) {
|
|
||||||
configurationNode = new ConfigurationSummary(configuration_id, task);
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
groupSummary.add(task.getVersionsTree(new File(getLocalWorkspace(), configuration_id)));
|
|
||||||
}
|
|
||||||
if (configurationNode != null)
|
|
||||||
configurationNode.add(groupSummary);
|
|
||||||
}
|
|
||||||
stateSummary.add(configurationNode);
|
|
||||||
}
|
|
||||||
if (stateSummary.count > 0) {
|
|
||||||
root.add(stateSummary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
public static DefaultMutableTreeNode buildTree_old(SapforTasksPackage package_in) {
|
|
||||||
PackageSummary root = new PackageSummary();
|
|
||||||
|
|
||||||
SapforTasksResults_json results_json = getLocalResults(package_in);
|
|
||||||
LinkedHashMap<MatchState, LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>>> sortedTasks =
|
|
||||||
results_json.sortTasksForComparisonTree();
|
|
||||||
//--
|
|
||||||
for (MatchState match_state : sortedTasks.keySet()) {
|
|
||||||
//--
|
|
||||||
MatchesSummary matchesSummary = new MatchesSummary(match_state);
|
|
||||||
//---
|
|
||||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> task_states = sortedTasks.get(match_state);
|
|
||||||
//---
|
|
||||||
for (TaskState state : task_states.keySet()) {
|
|
||||||
//--
|
|
||||||
StateSummary stateSummary = new StateSummary(state);
|
|
||||||
//--
|
|
||||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByConfigurations = task_states.get(state);
|
|
||||||
for (String configuration_id : tasksByConfigurations.keySet()) {
|
|
||||||
//--
|
|
||||||
DefaultMutableTreeNode configurationNode = null;
|
|
||||||
//--
|
|
||||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = tasksByConfigurations.get(configuration_id);
|
|
||||||
for (String group : groups_tasks.keySet()) {
|
|
||||||
//--
|
|
||||||
GroupSummary groupSummary = new GroupSummary(group);
|
|
||||||
//--
|
|
||||||
for (SapforTask task : groups_tasks.get(group)) {
|
|
||||||
//--
|
|
||||||
stateSummary.count++;
|
|
||||||
matchesSummary.count++;
|
|
||||||
root.count++;
|
|
||||||
//--
|
|
||||||
if (configurationNode == null) {
|
|
||||||
configurationNode = new ConfigurationSummary(configuration_id, task);
|
|
||||||
}
|
|
||||||
//--
|
|
||||||
groupSummary.add(task.getVersionsTree(new File(getLocalWorkspace(package_in), configuration_id)));
|
|
||||||
}
|
|
||||||
if (configurationNode != null)
|
|
||||||
configurationNode.add(groupSummary);
|
|
||||||
}
|
|
||||||
stateSummary.add(configurationNode);
|
|
||||||
}
|
|
||||||
if (stateSummary.count > 0) {
|
|
||||||
matchesSummary.add(stateSummary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//---
|
|
||||||
if (matchesSummary.count > 0) {
|
|
||||||
root.add(matchesSummary);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return root;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,15 +74,17 @@ public class SapforPackagesComparisonForm {
|
|||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
public void showCommonTree() {
|
public void showCommonTree() {
|
||||||
if (object.root == null) {
|
//---
|
||||||
object.buildTree();
|
|
||||||
}
|
|
||||||
treePanel.add(new JScrollPane(
|
treePanel.add(new JScrollPane(
|
||||||
new SapforTasksPackageTree(object.root,
|
new SapforTasksPackageTree(object.results.root,
|
||||||
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
public void showComparisonTree() {
|
public void showComparisonTree() {
|
||||||
|
treePanel.add(new JScrollPane(
|
||||||
|
new SapforTasksPackageTree(object.results.comparison_root,
|
||||||
|
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
||||||
|
)));
|
||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
public void showNoTree() {
|
public void showNoTree() {
|
||||||
@@ -91,6 +93,10 @@ public class SapforPackagesComparisonForm {
|
|||||||
public void showObject() {
|
public void showObject() {
|
||||||
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
|
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
|
||||||
lObjectName.setToolTipText(object.getPK().toString());
|
lObjectName.setToolTipText(object.getPK().toString());
|
||||||
|
//--
|
||||||
|
if (object.results == null)
|
||||||
|
object.readResults();
|
||||||
|
//--
|
||||||
showCommonTree();
|
showCommonTree();
|
||||||
}
|
}
|
||||||
protected String getText() {
|
protected String getText() {
|
||||||
@@ -203,6 +209,12 @@ public class SapforPackagesComparisonForm {
|
|||||||
//--
|
//--
|
||||||
task1.checkMatch(task2);
|
task1.checkMatch(task2);
|
||||||
}
|
}
|
||||||
|
//--
|
||||||
|
package1.results.SortTasksForComparison();
|
||||||
|
package2.results.SortTasksForComparison();
|
||||||
|
//-
|
||||||
|
package1.results.buildComparisonTree(package1);
|
||||||
|
package2.results.buildTree(package2);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected boolean validate() {
|
protected boolean validate() {
|
||||||
|
|||||||
Reference in New Issue
Block a user