2024-10-14 12:14:01 +03:00
|
|
|
package _VisualDVM.Passes.Testing;
|
2024-10-07 14:22:52 +03:00
|
|
|
import Common.CommonConstants;
|
2024-10-14 12:54:52 +03:00
|
|
|
import Common.Utils.Utils_;
|
2024-10-07 00:58:29 +03:00
|
|
|
import _VisualDVM.Global;
|
2024-10-09 22:21:57 +03:00
|
|
|
import _VisualDVM.TestingSystem.Common.TestingPackage.TestingPackage;
|
|
|
|
|
import _VisualDVM.TestingSystem.Common.TestingServer;
|
2024-10-14 12:14:01 +03:00
|
|
|
import _VisualDVM.Passes.Server.DeleteServerObjects;
|
2023-12-15 20:39:49 +03:00
|
|
|
|
2023-12-17 21:38:54 +03:00
|
|
|
import java.io.File;
|
2023-12-15 20:39:49 +03:00
|
|
|
import java.util.Vector;
|
2024-09-18 13:37:11 +03:00
|
|
|
public abstract class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P> {
|
2023-12-15 20:39:49 +03:00
|
|
|
boolean delete_draft;
|
|
|
|
|
public DeleteTestingPackages(Class<P> p) {
|
|
|
|
|
super(Global.testingServer, p);
|
|
|
|
|
}
|
|
|
|
|
public boolean checkActivity() {
|
|
|
|
|
/*
|
|
|
|
|
for (Object key : target) {
|
|
|
|
|
DVMPackage tasksPackage = server.db.dvmPackages.get(key);
|
|
|
|
|
if (!tasksPackage.state.equals(TasksPackageState.Done) &&
|
|
|
|
|
!tasksPackage.state.equals(TasksPackageState.Aborted)
|
|
|
|
|
) {
|
|
|
|
|
Log.Writeln_("Нельзя удалить активный пакет " + key + " !");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2023-12-18 15:44:48 +03:00
|
|
|
protected abstract File getPackagesHome();
|
2023-12-15 20:39:49 +03:00
|
|
|
@Override
|
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
|
|
|
delete_draft = false;
|
|
|
|
|
Vector<Object> target_ = new Vector<>();
|
|
|
|
|
if (super.canStart(args) && checkActivity()) {
|
|
|
|
|
for (Object key : target) {
|
|
|
|
|
int id = (int) key;
|
2024-10-07 14:22:52 +03:00
|
|
|
if (id == CommonConstants.Nan) {
|
2023-12-15 20:39:49 +03:00
|
|
|
delete_draft = true;
|
|
|
|
|
} else {
|
|
|
|
|
target_.add(id);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//-
|
|
|
|
|
if (delete_draft) {
|
|
|
|
|
if (target.size() == 1) {
|
|
|
|
|
DeleteDraftOnly();
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
target = target_;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
void DeleteDraftOnly() throws Exception {
|
|
|
|
|
showPreparation();
|
2024-10-07 14:22:52 +03:00
|
|
|
getDb().tables.get(d).Data.remove(CommonConstants.Nan);
|
2023-12-15 20:39:49 +03:00
|
|
|
getDb().tables.get(d).ShowUI();
|
|
|
|
|
}
|
2023-12-18 15:44:48 +03:00
|
|
|
@Override
|
|
|
|
|
protected void performDone() throws Exception {
|
|
|
|
|
super.performDone();
|
|
|
|
|
for (Object object : target) {
|
|
|
|
|
int id = (int) object;
|
|
|
|
|
File workspace = new File(getPackagesHome(), String.valueOf(id));
|
2024-10-14 12:54:52 +03:00
|
|
|
Utils_.forceDeleteWithCheck(workspace);
|
2023-12-18 15:44:48 +03:00
|
|
|
}
|
|
|
|
|
}
|
2023-12-15 20:39:49 +03:00
|
|
|
}
|