рефакторинг серверной части сапфора.
This commit is contained in:
55
src/Visual_DVM_2021/Passes/ActualizeTestingPackages.java
Normal file
55
src/Visual_DVM_2021/Passes/ActualizeTestingPackages.java
Normal file
@@ -0,0 +1,55 @@
|
||||
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<P extends TestingPackage> extends TestingSystemPass<Vector<Pair<Integer, Long>>> {
|
||||
Class p;
|
||||
public ActualizeTestingPackages(Class<P> p_in) {
|
||||
p = p_in;
|
||||
}
|
||||
iDBTable<P> getTable() {
|
||||
return (iDBTable<P>) 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<P> res = (Vector<P>) 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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user