package Visual_DVM_2021.Passes.All; import Common_old.Constants; import _VisualDVM.Global; import Common_old.Utils.Utils; import Repository.Server.ServerCode; import Repository.Server.ServerExchangeUnit_2021; import TestingSystem.DVM.DVMPackage.DVMPackage; import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.Server.TestingSystemPass; import javafx.util.Pair; import org.apache.commons.io.FileUtils; import java.io.File; import java.util.Date; import java.util.Vector; public class DownloadDVMPackages extends Pass_2021> { Vector>> packed_packages; @Override public String getIconPath() { return "/icons/DownloadBugReport.png"; } @Override public String getButtonText() { return ""; } @Override protected boolean needsAnimation() { return true; } @Override protected boolean canStart(Object... args) throws Exception { target = (Vector) args[0]; packed_packages = null; TestingSystemPass pass = new TestingSystemPass>() { @Override protected boolean canStart(Object... args) throws Exception { target = (Vector) args[0]; return true; } @Override public String getDescription() { return "Получение пакетов"; } @Override protected void ServerAction() throws Exception { Command(new ServerExchangeUnit_2021(ServerCode.DownloadDVMPackages, "", target)); packed_packages = (Vector>>) response.object; } }; if (!pass.Do(target)) { return false; } return true; } @Override protected void body() throws Exception { ShowMessage1("Распаковка пакета"); for (Pair> p : packed_packages) { DVMPackage dvmPackage = Global.testingServer.db.dvmPackages.get(p.getKey()); ShowMessage2(String.valueOf(dvmPackage.id)); File workspace = dvmPackage.getLocalWorkspace(); Utils.CheckAndCleanDirectory(workspace); File results_zip = new File(workspace, "results.zip"); File results = new File(workspace, "results"); File loaded = new File(workspace, Constants.LOADED); Pair packed_package = p.getValue(); //--- Utils.unpackFile(packed_package.getKey(), results_zip); Utils.unpackFile(packed_package.getValue(), dvmPackage.getJsonFile()); passes.get(PassCode_2021.UnzipFolderPass).Do(results_zip.getAbsolutePath(), workspace.getAbsolutePath()); FileUtils.writeStringToFile(loaded, new Date().toString()); } } }