package Visual_DVM_2021.Passes; import Common.Database.iDBTable; import Common.Global; import Repository.Server.ServerCode; import Repository.Server.ServerExchangeUnit_2021; import TestingSystem.Common.TestingPackage.TestingPackage; import Visual_DVM_2021.Passes.Server.TestingSystemPass; import javafx.util.Pair; import java.util.Vector; public abstract class ActualizeTestingPackages

extends TestingSystemPass>> { Class p; public ActualizeTestingPackages(Class

p_in) { p = p_in; } iDBTable

getTable() { return (iDBTable

) Global.testingServer.db.tables.get(p); } protected abstract ServerCode getCheckCode(); @Override protected boolean needsAnimation() { return false; } @Override protected boolean canStart(Object... args) throws Exception { target = new Vector<>(); for (P testingPackage : getTable().Data.values()) { if (testingPackage.state.isActive()) { target.add(new Pair(testingPackage.id, testingPackage.ChangeDate)); } } return !target.isEmpty(); } @Override protected void ServerAction() throws Exception { Command(new ServerExchangeUnit_2021(getCheckCode(), "", target)); } @Override protected void performDone() throws Exception { Vector

res = (Vector

) response.object; Global.testingServer.db.BeginTransaction(); for (P actual : res) Global.testingServer.db.UpdateWithCheck(actual); Global.testingServer.db.Commit(); } @Override protected void showDone() throws Exception { getTable().RefreshUI(); } }