Files
VisualSapfor/src/TestingSystem/Common/TestingPackage/TestingPackage.java

70 lines
2.3 KiB
Java
Raw Normal View History

2023-12-11 01:24:30 +03:00
package TestingSystem.Common.TestingPackage;
import Common.Constants;
2023-12-11 01:24:30 +03:00
import Common.Database.DBObject;
import Common.Database.riDBObject;
2023-12-15 18:10:27 +03:00
import Common.Utils.Utils;
import TestingSystem.Common.TasksPackageState;
2023-12-15 18:10:27 +03:00
import com.sun.org.glassfish.gmbal.Description;
import java.io.File;
public abstract class TestingPackage<J> extends riDBObject {
public String PID = "";
2023-12-11 01:24:30 +03:00
public int tasksCount = 0; //Общее число задач
//--
public int kernels = 1;
public int needsEmail = 0;
//---
public String version = ""; //версия тестируемого объекта
public String drv = ""; //пусть к исполняемому файлы тестируемого объекта
//--
public int progress = 0; //прогресс выполнения
2023-12-15 14:02:12 +03:00
public long StartDate = 0;
public long ChangeDate = 0;
public TasksPackageState state = TasksPackageState.Draft;
2023-12-11 01:24:30 +03:00
//--
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
2023-12-15 18:10:27 +03:00
TestingPackage tp = (TestingPackage) src;
2023-12-11 01:24:30 +03:00
//--
2023-12-15 18:10:27 +03:00
tasksCount = tp.tasksCount;
needsEmail = tp.needsEmail;
version = tp.version;
drv = tp.drv;
PID = tp.PID;
kernels = tp.kernels;
progress = tp.progress;
StartDate = tp.StartDate;
ChangeDate = tp.ChangeDate;
state = tp.state;
2023-12-11 01:24:30 +03:00
}
2023-12-15 14:02:12 +03:00
public TestingPackage(TestingPackage p) {
SynchronizeFields(p);
}
public TestingPackage() {
}
2023-12-15 18:10:27 +03:00
public File getLocalWorkspace() {
2023-12-15 18:38:05 +03:00
return new File(getHomeDirectory(), String.valueOf(id));
2023-12-15 18:10:27 +03:00
}
//------------------------
@Description("IGNORED")
public J package_json = null;
2023-12-15 18:10:27 +03:00
public abstract Class getJsonClass();
2023-12-15 18:38:05 +03:00
public abstract File getHomeDirectory();
2023-12-15 18:10:27 +03:00
public File getJsonFile() {
return new File(getLocalWorkspace(), "package_json");
}
public File getLoadedFile() {
return new File(getLocalWorkspace(), Constants.LOADED);
}
2023-12-15 18:10:27 +03:00
public void saveJson() throws Exception {
Utils.jsonToFile(package_json, getJsonFile());
}
public void readJson() throws Exception {
package_json = (J) Utils.jsonFromFile(getJsonFile(), getJsonClass());
}
2023-12-15 14:02:12 +03:00
public void destructor() {
2023-12-15 18:10:27 +03:00
package_json = null;
2023-12-15 14:02:12 +03:00
}
2023-12-11 01:24:30 +03:00
}