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 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<>();
System.out.println("active packages");
for (P testingPackage : getTable().Data.values()) {
System.out.println(testingPackage.id + " " + testingPackage.state);
if (testingPackage.state.isActive()) {
System.out.println(testingPackage.state);
target.add(new Pair(testingPackage.id, testingPackage.ChangeDate));
System.out.println(testingPackage.id);
}
}
System.out.println("found " + target.size());
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().ShowUI(); ///RefreshUI()
}
}