2024-10-14 12:14:01 +03:00
|
|
|
|
package _VisualDVM.Passes.All;
|
2024-10-15 15:13:57 +03:00
|
|
|
|
import Common.Visual.UI;
|
2024-10-15 02:32:52 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2024-10-14 12:14:01 +03:00
|
|
|
|
import _VisualDVM.Passes.PassCode;
|
2024-10-14 15:19:13 +03:00
|
|
|
|
import _VisualDVM.Passes.Project.CurrentProjectPass;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
|
|
import java.math.BigInteger;
|
|
|
|
|
|
public class GenerateParallelVariants extends CurrentProjectPass {
|
|
|
|
|
|
boolean all_variants;
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public String getIconPath() {
|
|
|
|
|
|
return "/icons/ParallelVariants.png";
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2024-10-09 23:37:58 +03:00
|
|
|
|
protected PassCode necessary() {
|
|
|
|
|
|
return PassCode.SPF_GetArrayDistribution;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void FocusBeforeStart() {
|
2024-10-15 02:32:52 +03:00
|
|
|
|
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusVersions();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
|
|
|
|
if (super.canStart(args)) {
|
|
|
|
|
|
all_variants = (boolean) args[0];
|
|
|
|
|
|
BigInteger amount = all_variants ? target.getFilteredVariantsCount() : BigInteger.valueOf(target.getVariantsCoverageCount());
|
|
|
|
|
|
if (amount.compareTo(BigInteger.valueOf(1600)) > 0) {
|
|
|
|
|
|
Log.Writeln_("Количество вариантов " + amount + "\nпревышает 1600. Отображение запрещено.");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2024-10-15 15:13:57 +03:00
|
|
|
|
return UI.Question("Будет отображено " + amount + " вариантов. Хотите продолжить");
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void performPreparation() throws Exception {
|
|
|
|
|
|
target.parallelVariants.clear();
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void showPreparation() throws Exception {
|
2024-10-15 02:32:52 +03:00
|
|
|
|
Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowNoVariants();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
|
if (all_variants)
|
|
|
|
|
|
target.gen_variants_vectors();
|
|
|
|
|
|
else
|
|
|
|
|
|
target.gen_variants_coverage();
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void showDone() throws Exception {
|
2024-10-15 02:32:52 +03:00
|
|
|
|
Global.mainModule.getUI().getVersionsWindow().getVariantsWindow().ShowVariants();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|