Исправление бага с ид пакетов. теперь они общий для всех пользователей, поэтому не будет пересечания в папках. v++

This commit is contained in:
2023-11-21 17:44:59 +03:00
parent 16b13cbc8c
commit 82a6f4b879
23 changed files with 132 additions and 87 deletions

21
.idea/workspace.xml generated
View File

@@ -8,9 +8,28 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Global.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Global.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/GlobalData/Settings/SettingName.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/Settings/SettingName.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TasksDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageToKill/TasksPackageToKill.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageToKill/TasksPackageToKill.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Tasks/TestTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Tasks/TestTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/TasksPackage/TasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/TasksPackage/TasksPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/TasksPackage/TasksPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/TasksPackage/TasksPackageDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTask/SapforTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackagesDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackagesDBTable.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackagesDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTasksPackage/SapforTasksPackagesDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/InstallServerSapfor.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AbortSapforTaskPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AbortSapforTaskPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AbortTaskPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AbortTaskPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/DeleteServerAccountObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/DeleteServerAccountObject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/PublishServerAccountObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/PublishServerAccountObject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/PublishServerObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/PublishServerObject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/RepositoryPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/Server/RepositoryPass.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -58,8 +58,8 @@ public class Constants {
public static final String attachments = "attachments"; public static final String attachments = "attachments";
public static final String statistic = "statistic"; public static final String statistic = "statistic";
public static final String unknown_metric = ""; public static final String unknown_metric = "";
public static final String old_tests_db_name = "tests2024"; public static final String old_tests_db_name = "tests2025";
public static final String tests_db_name = "tests2025"; public static final String tests_db_name = "tests2026";
public static final String dateNaN = "NaN"; public static final String dateNaN = "NaN";
//пробный коммит. изменение комментария.++ //пробный коммит. изменение комментария.++
//кронтаб и перезагрузка //кронтаб и перезагрузка

View File

@@ -115,7 +115,7 @@ public class Global {
Utils.CheckDirectory(StsDirectory = Paths.get(Home, Sts).toFile()); Utils.CheckDirectory(StsDirectory = Paths.get(Home, Sts).toFile());
Utils.CheckDirectory(TestsDirectory = Paths.get(Home, Tests).toFile()); Utils.CheckDirectory(TestsDirectory = Paths.get(Home, Tests).toFile());
Utils.CheckDirectory(PerformanceAnalyzerDirectory = Paths.get(Home, PerformanceAnalyzer).toFile()); Utils.CheckDirectory(PerformanceAnalyzerDirectory = Paths.get(Home, PerformanceAnalyzer).toFile());
Utils.CheckDirectory(SapforPackagesDirectory = Paths.get(Home, "SapforPackages").toFile()); Utils.CheckAndCleanDirectory(SapforPackagesDirectory = Paths.get(Home, "SapforPackages").toFile());
} }
public static void CheckServerDirectories() { public static void CheckServerDirectories() {
Utils.CheckDirectory(ComponentsDirectory = Paths.get(Home, components).toFile()); Utils.CheckDirectory(ComponentsDirectory = Paths.get(Home, components).toFile());

View File

@@ -41,6 +41,10 @@ public enum SettingName {
Email, //для тестирования. потом. Email, //для тестирования. потом.
Pause, //стоит ли тестрование на паузе. Pause, //стоит ли тестрование на паузе.
Queue, //хз нужна ли. будет пересказ пакета в проходе. Queue, //хз нужна ли. будет пересказ пакета в проходе.
//---
DVMPackageMaxId,
SAPFORPackageId,
//---
TaskMaxId, //вместо TaskCounter TaskMaxId, //вместо TaskCounter
SapforTaskMaxId, //для тестирования Сапфора. SapforTaskMaxId, //для тестирования Сапфора.
//отображения галок в деревьях. //отображения галок в деревьях.

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1029; version = 1030;
String pattern = "MMM dd yyyy HH:mm:ss"; String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime()); date_text = df.format(getClassBuildTime());

View File

@@ -2,7 +2,7 @@ package Repository;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.Database; import Common.Database.Database;
import Common.Database.rDBObject; import Common.Database.iDBObject;
import Common.Global; import Common.Global;
import Common.Utils.InterruptThread; import Common.Utils.InterruptThread;
import Common.Utils.Utils; import Common.Utils.Utils;
@@ -171,7 +171,9 @@ public abstract class RepositoryServer<D extends Database> {
public boolean needsEmail(String email) { public boolean needsEmail(String email) {
return true; return true;
} }
public void PublishAction(DBObject object) throws Exception { public void beforePublishAction(DBObject object) throws Exception {
}
public void afterPublishAction(DBObject object) throws Exception {
} }
public boolean canDelete(DBObject object) throws Exception { public boolean canDelete(DBObject object) throws Exception {
return true; return true;
@@ -236,14 +238,6 @@ public abstract class RepositoryServer<D extends Database> {
break; break;
//</editor-fold> //</editor-fold>
//<editor-fold desc="Главная база данных"> //<editor-fold desc="Главная база данных">
case PublishObject:
dbObject = (DBObject) request.object;
Print("Опубликовать объект " + dbObject.getPK());
db.InsertWithCheck(dbObject);
PublishAction(dbObject);
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = (Serializable) dbObject.getPK();
break;
case CheckObjectExistense: case CheckObjectExistense:
p = (Pair<Class, Object>) request.object; p = (Pair<Class, Object>) request.object;
Print("Проверить существование объекта класса " + p.getKey().toString() + " с ключом " + p.getValue()); Print("Проверить существование объекта класса " + p.getKey().toString() + " с ключом " + p.getValue());
@@ -256,7 +250,7 @@ public abstract class RepositoryServer<D extends Database> {
db.UpdateWithCheck(new_object); db.UpdateWithCheck(new_object);
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
break; break;
case DeleteObject: case DeleteObject: //устарело. потом убрать. сейчас на это баг репорты повязаны.
dbObject = (DBObject) request.object; dbObject = (DBObject) request.object;
Print("Удалить объект " + dbObject.getPK()); Print("Удалить объект " + dbObject.getPK());
db.DeleteWithCheck(dbObject); db.DeleteWithCheck(dbObject);
@@ -297,13 +291,13 @@ public abstract class RepositoryServer<D extends Database> {
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
break; break;
//------------------------ //------------------------
case PublishAIObject: case PublishObject:
dbObject = (DBObject) request.object; dbObject = (DBObject) request.object;
Print("Опубликовать объект с автоинкрементным ключом"); beforePublishAction(dbObject);
db.Insert(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален. PublishObject(dbObject);
PublishAction(dbObject); afterPublishAction(dbObject);
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = (Serializable) dbObject.getPK(); //чтобы пользователь знал, какой ключ. response.object = (Serializable) dbObject.getPK();
break; break;
//</editor-fold> //</editor-fold>
case EXIT: case EXIT:
@@ -351,7 +345,13 @@ public abstract class RepositoryServer<D extends Database> {
} }
} }
} }
public void CopyAction(rDBObject src, rDBObject dst) throws Exception { public void PublishObject(DBObject dbObject) throws Exception {
if (dbObject instanceof iDBObject) {
Print("Опубликовать объект");
db.Insert(dbObject);
} else {
Print("Опубликовать объект с автоинкрементным ключом");
db.InsertWithCheck(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален.
}
} }
//--
} }

View File

@@ -28,7 +28,6 @@ public enum ServerCode {
RefreshDVMTests, //- для админа. получение тестов из репозитория. RefreshDVMTests, //- для админа. получение тестов из репозитория.
PublishSapforPackageTasks, PublishSapforPackageTasks,
//- //-
PublishObject,
EditObject, EditObject,
DeleteObject, //--------------------УСТАРЕЛО. УБРАТЬ. DeleteObject, //--------------------УСТАРЕЛО. УБРАТЬ.
GetObjectCopyByPK, GetObjectCopyByPK,
@@ -78,8 +77,9 @@ public enum ServerCode {
//- //-
OLD, OLD,
//- //-
PublishAIObject, //публикация объекта с автоинкрементом. PublishAccount,
PublishAccountAIObject, GetActualSapforPackageData,
PublishTestProject, //--
GetActualSapforPackageData PublishObject,
PublishTestProject
} }

View File

@@ -70,9 +70,9 @@ public class TasksDatabase extends SQLiteDatabase {
} }
super.disconnect(); super.disconnect();
} }
public LinkedHashMap<Long, TestRunTask> getPackageRunTasks(int package_id) throws Exception { public LinkedHashMap<Long, TestRunTask> getPackageRunTasks(long package_id) throws Exception {
LinkedHashMap<Long, TestRunTask> res = new LinkedHashMap<>(); LinkedHashMap<Long, TestRunTask> res = new LinkedHashMap<>();
selectPackageRunTasks.setInt(1, package_id); selectPackageRunTasks.setLong(1, package_id);
resSet = selectPackageRunTasks.executeQuery(); resSet = selectPackageRunTasks.executeQuery();
while (resSet.next()) { while (resSet.next()) {
Pair<Long, TestRunTask> record = readRecord(testRunTasks); Pair<Long, TestRunTask> record = readRecord(testRunTasks);

View File

@@ -4,5 +4,5 @@ import Common.Database.iDBObject;
import com.sun.org.glassfish.gmbal.Description; import com.sun.org.glassfish.gmbal.Description;
public class TasksPackageToKill extends iDBObject { public class TasksPackageToKill extends iDBObject {
@Description("DEFAULT -1") @Description("DEFAULT -1")
public int packageId = Constants.Nan; public long packageId = Constants.Nan;
} }

View File

@@ -1,11 +1,13 @@
package TestingSystem.Common; package TestingSystem.Common;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.iDBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Account.Account; import GlobalData.Account.Account;
import GlobalData.Machine.Machine; import GlobalData.Machine.Machine;
import GlobalData.RemoteFile.RemoteFile; import GlobalData.RemoteFile.RemoteFile;
import GlobalData.Settings.SettingName;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import GlobalData.User.User; import GlobalData.User.User;
import ProjectData.LanguageName; import ProjectData.LanguageName;
@@ -38,7 +40,6 @@ import org.apache.commons.io.FileUtils;
import javax.swing.*; import javax.swing.*;
import java.io.File; import java.io.File;
import java.io.Serializable;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Arrays; import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;
@@ -76,7 +77,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
} }
} }
@Override @Override
public void PublishAction(DBObject object) throws Exception { public void afterPublishAction(DBObject object) throws Exception {
if (object instanceof TasksPackage) { if (object instanceof TasksPackage) {
//объект уже вставлен. //объект уже вставлен.
TasksPackage tasksPackage = (TasksPackage) object; TasksPackage tasksPackage = (TasksPackage) object;
@@ -94,7 +95,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("принять задачу на компиляцию " + group_id + ":" + test_id + ":" + task.flags); Print("принять задачу на компиляцию " + group_id + ":" + test_id + ":" + task.flags);
//Теперь эту задачу надо поставить в очередь. и вернуть пользователю, уже с id //Теперь эту задачу надо поставить в очередь. и вернуть пользователю, уже с id
task.state = TaskState.Waiting; task.state = TaskState.Waiting;
task.id = db.IncMaxTaskId(); task.id = db.IncKey(SettingName.TaskMaxId);
task.taskspackage_id = tasksPackage.id; task.taskspackage_id = tasksPackage.id;
task.makefile_text = group.GenerateMakefile(project, tasksPackage.dvm_drv, task.flags); task.makefile_text = group.GenerateMakefile(project, tasksPackage.dvm_drv, task.flags);
task.test_home = tasksPackage.user_workspace + "/projects/" + test_id; task.test_home = tasksPackage.user_workspace + "/projects/" + test_id;
@@ -106,7 +107,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
account_db.Insert(task); account_db.Insert(task);
if (task.runTasks != null) { if (task.runTasks != null) {
for (TestRunTask rt : task.runTasks) { for (TestRunTask rt : task.runTasks) {
rt.id = db.IncMaxTaskId(); rt.id = db.IncKey(SettingName.TaskMaxId);
rt.taskspackage_id = tasksPackage.id; rt.taskspackage_id = tasksPackage.id;
rt.testcompilationtask_id = task.id; rt.testcompilationtask_id = task.id;
rt.remote_workspace = rt.remote_workspace =
@@ -263,9 +264,9 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
account_db.BeginTransaction(); account_db.BeginTransaction();
for (Object object : tasks) { for (Object object : tasks) {
SapforTask task = (SapforTask) object; SapforTask task = (SapforTask) object;
task.id = db.IncSapforMaxTaskId(); task.id = db.IncKey(SettingName.SapforTaskMaxId);
if (account_db.InsertWithCheck_(task) != null) if (account_db.InsertWithCheck_(task) != null)
PublishAction(task); afterPublishAction(task);
} }
account_db.Commit(); account_db.Commit();
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
@@ -302,11 +303,11 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
break; break;
case CheckPackageToKill: case CheckPackageToKill:
SetCurrentAccountDB(request.arg); SetCurrentAccountDB(request.arg);
int packageId = (int) request.object; long packageId = (long) request.object;
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
boolean res_ = false; boolean res_ = false;
for (TasksPackageToKill tasksPackageToKill : account_db.packagesToKill.Data.values()) { for (TasksPackageToKill tasksPackageToKill : account_db.packagesToKill.Data.values()) {
if (tasksPackageToKill.packageId==packageId) { if (tasksPackageToKill.packageId == packageId) {
res_ = true; res_ = true;
break; break;
} }
@@ -335,7 +336,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
account_db.BeginTransaction(); account_db.BeginTransaction();
for (Object object : objects__) for (Object object : objects__)
if (account_db.InsertWithCheck_((DBObject) object) != null) if (account_db.InsertWithCheck_((DBObject) object) != null)
PublishAction((DBObject) object); afterPublishAction((DBObject) object);
account_db.Commit(); account_db.Commit();
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
break; break;
@@ -429,15 +430,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
DeleteAction(account_db.DeleteByPK(to_delete.getKey(), to_delete.getValue())); DeleteAction(account_db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
break; break;
case PublishAccountAIObject:
Print("Опубликовать объект с автоинкрементным ключом для пользователя " + request.arg);
SetCurrentAccountDB(request.arg);
dbObject = (DBObject) request.object;
account_db.Insert(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален.
PublishAction(dbObject);
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = (Serializable) dbObject.getPK(); //чтобы пользователь знал, какой ключ.
break;
case GetActualSapforPackageData: case GetActualSapforPackageData:
Print("Запросить актуальные данные пакета"); Print("Запросить актуальные данные пакета");
sapforTasksPackage = (SapforTasksPackage) request.object; sapforTasksPackage = (SapforTasksPackage) request.object;
@@ -592,4 +584,31 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
} }
return res; return res;
} }
@Override
public void PublishObject(DBObject dbObject) throws Exception {
if (request.arg == null)
super.PublishObject(dbObject);
else {
SetCurrentAccountDB(request.arg);
if (dbObject instanceof iDBObject) {
Print("Опубликовать объект для пользователя " + request.arg);
account_db.Insert(dbObject);
} else {
Print("Опубликовать объект с автоинкрементным ключом " + request.arg);
account_db.InsertWithCheck(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален.
}
}
}
@Override
public void beforePublishAction(DBObject object) throws Exception {
if (object instanceof TasksPackage) {
TasksPackage tasksPackage = (TasksPackage) object;
tasksPackage.id = db.IncKey(SettingName.DVMPackageMaxId);
} else {
if (object instanceof SapforTasksPackage) {
SapforTasksPackage sapforTasksPackage = (SapforTasksPackage) object;
sapforTasksPackage.id = db.IncKey(SettingName.SAPFORPackageId);
}
}
}
} }

View File

@@ -39,8 +39,15 @@ public class TestsDatabase extends SQLiteDatabase {
} }
@Override @Override
public void Init() throws Exception { public void Init() throws Exception {
if (!settings.containsKey(SettingName.DVMPackageMaxId))
Insert(new TSetting(SettingName.DVMPackageMaxId, 0));
//-
if (!settings.containsKey(SettingName.SAPFORPackageId))
Insert(new TSetting(SettingName.SAPFORPackageId, 0));
//-
if (!settings.containsKey(SettingName.TaskMaxId)) if (!settings.containsKey(SettingName.TaskMaxId))
Insert(new TSetting(SettingName.TaskMaxId, 0)); Insert(new TSetting(SettingName.TaskMaxId, 0));
//-
if (!settings.containsKey(SettingName.SapforTaskMaxId)) if (!settings.containsKey(SettingName.SapforTaskMaxId))
Insert(new TSetting(SettingName.SapforTaskMaxId, 0)); Insert(new TSetting(SettingName.SapforTaskMaxId, 0));
} }
@@ -48,15 +55,8 @@ public class TestsDatabase extends SQLiteDatabase {
public PassCode_2021 getSynchronizePassCode() { public PassCode_2021 getSynchronizePassCode() {
return PassCode_2021.SynchronizeTests; return PassCode_2021.SynchronizeTests;
} }
public long IncMaxTaskId() throws Exception { public long IncKey(SettingName settingName) throws Exception{
TSetting setting = settings.get(SettingName.TaskMaxId); TSetting setting = settings.get(settingName);
long res = setting.value;
setting.value++;
Update(setting);
return res;
}
public long IncSapforMaxTaskId() throws Exception {
TSetting setting = settings.get(SettingName.SapforTaskMaxId);
long res = setting.value; long res = setting.value;
setting.value++; setting.value++;
Update(setting); Update(setting);

View File

@@ -15,7 +15,7 @@ public class TestTask extends DBObject {
@Description("PRIMARY KEY, UNIQUE") @Description("PRIMARY KEY, UNIQUE")
public long id = Constants.Nan; public long id = Constants.Nan;
@Description("DEFAULT '-1'") @Description("DEFAULT '-1'")
public int taskspackage_id = Constants.Nan; public long taskspackage_id = Constants.Nan;
@Description("DEFAULT -1") @Description("DEFAULT -1")
public int group_id = Constants.Nan; public int group_id = Constants.Nan;
@Description("DEFAULT ''") @Description("DEFAULT ''")

View File

@@ -1,13 +1,15 @@
package TestingSystem.DVM.TasksPackage; package TestingSystem.DVM.TasksPackage;
import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import TestingSystem.DVM.Tasks.TestCompilationTask; import TestingSystem.DVM.Tasks.TestCompilationTask;
import com.sun.org.glassfish.gmbal.Description; import com.sun.org.glassfish.gmbal.Description;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class TasksPackage extends riDBObject { public class TasksPackage extends DBObject {
@Description("PRIMARY KEY, UNIQUE")
public long id = Constants.Nan;
public String pid=""; //сишная часть. public String pid=""; //сишная часть.
public String summary = ""; public String summary = "";
//--- //---
@@ -38,6 +40,10 @@ public class TasksPackage extends riDBObject {
//нужно только для публикации задач. //нужно только для публикации задач.
public LinkedHashMap<Integer, LinkedHashMap<Integer, Vector<TestCompilationTask>>> sorted_tasks = new LinkedHashMap<>(); public LinkedHashMap<Integer, LinkedHashMap<Integer, Vector<TestCompilationTask>>> sorted_tasks = new LinkedHashMap<>();
@Override @Override
public Object getPK() {
return id;
}
@Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
TasksPackage tasksPackage = (TasksPackage) src; TasksPackage tasksPackage = (TasksPackage) src;

View File

@@ -10,10 +10,10 @@ import java.util.LinkedHashMap;
import static Common.UI.Tables.TableRenderers.RendererDate; import static Common.UI.Tables.TableRenderers.RendererDate;
import static Common.UI.Tables.TableRenderers.RendererStatusEnum; import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
public class TasksPackageDBTable extends iDBTable<TasksPackage> { public class TasksPackageDBTable extends DBTable<Long,TasksPackage> {
public TasksPackageDBTable() { public TasksPackageDBTable() {
super(TasksPackage.class); super(Long.class,TasksPackage.class);
} }
@Override @Override
public Current CurrentName() { public Current CurrentName() {

View File

@@ -25,7 +25,7 @@ public class SapforTask extends DBObject {
public int sapfor_configuration_id = Constants.Nan; public int sapfor_configuration_id = Constants.Nan;
@Expose @Expose
@Description("DEFAULT '-1'") @Description("DEFAULT '-1'")
public int sapfortaskspackage_id = Constants.Nan; public long sapfortaskspackage_id = Constants.Nan;
//------------------------------------->> //------------------------------------->>
@Description("DEFAULT ''") @Description("DEFAULT ''")
@Expose @Expose

View File

@@ -1,7 +1,6 @@
package TestingSystem.SAPFOR.SapforTasksPackage; package TestingSystem.SAPFOR.SapforTasksPackage;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.DVM.TasksPackage.TasksPackageState; import TestingSystem.DVM.TasksPackage.TasksPackageState;
@@ -12,7 +11,9 @@ import com.sun.org.glassfish.gmbal.Description;
import java.io.File; import java.io.File;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Comparator; import java.util.Comparator;
public class SapforTasksPackage extends riDBObject { public class SapforTasksPackage extends DBObject {
@Description("PRIMARY KEY, UNIQUE")
public long id = Constants.Nan;
@Description("DEFAULT ''") @Description("DEFAULT ''")
public String testsNames = "";//имена тестов через ; для отображения public String testsNames = "";//имена тестов через ; для отображения
//--- //---
@@ -72,6 +73,10 @@ public class SapforTasksPackage extends riDBObject {
} }
} }
@Override @Override
public Object getPK() {
return id;
}
@Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
SapforTasksPackage p = (SapforTasksPackage) src; SapforTasksPackage p = (SapforTasksPackage) src;

View File

@@ -9,9 +9,9 @@ import java.util.LinkedHashMap;
import static Common.UI.Tables.TableRenderers.RendererDate; import static Common.UI.Tables.TableRenderers.RendererDate;
import static Common.UI.Tables.TableRenderers.RendererStatusEnum; import static Common.UI.Tables.TableRenderers.RendererStatusEnum;
public class SapforTasksPackagesDBTable extends iDBTable<SapforTasksPackage> { public class SapforTasksPackagesDBTable extends DBTable<Long,SapforTasksPackage> {
public SapforTasksPackagesDBTable() { public SapforTasksPackagesDBTable() {
super(SapforTasksPackage.class); super(Long.class,SapforTasksPackage.class);
} }
@Override @Override
public Current CurrentName() { public Current CurrentName() {
@@ -31,7 +31,7 @@ public class SapforTasksPackagesDBTable extends iDBTable<SapforTasksPackage> {
@Override @Override
protected void AdditionalInitColumns() { protected void AdditionalInitColumns() {
// columns.get(0).setVisible(false); // columns.get(0).setVisible(false);
columns.get(2).setMaxWidth(100); columns.get(2).setMaxWidth(200);
columns.get(5).setRenderer(RendererDate); columns.get(5).setRenderer(RendererDate);
columns.get(6).setRenderer(RendererDate); columns.get(6).setRenderer(RendererDate);
columns.get(7).setRenderer(RendererStatusEnum); columns.get(7).setRenderer(RendererStatusEnum);

View File

@@ -36,6 +36,6 @@ public class AbortSapforTaskPackage extends TestingSystemPass<SapforTasksPackage
} }
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.PublishAccountAIObject, Current.getAccount().email, tasksPackageToKill)); Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, Current.getAccount().email, tasksPackageToKill));
} }
} }

View File

@@ -36,7 +36,7 @@ public class AbortTaskPackage extends TestingSystemPass<TasksPackage> {
} }
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.PublishAccountAIObject, Current.getAccount().email, tasksPackageToKill)); Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, Current.getAccount().email, tasksPackageToKill));
} }
} }

View File

@@ -1,13 +1,13 @@
package Visual_DVM_2021.Passes.Server; package Visual_DVM_2021.Passes.Server;
import Common.Current; import Common.Current;
import Common.Database.DBObject;
import Common.Database.Database; import Common.Database.Database;
import Common.Database.riDBObject;
import Common.Global; import Common.Global;
import Repository.Server.ServerCode; import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021; import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
import javafx.util.Pair; import javafx.util.Pair;
public class DeleteServerAccountObject<D extends riDBObject> extends DeleteServerObject<TestingServer, D> { public class DeleteServerAccountObject<D extends DBObject> extends DeleteServerObject<TestingServer, D> {
public DeleteServerAccountObject(Class<D> d_in) { public DeleteServerAccountObject(Class<D> d_in) {
super(Global.testingServer, d_in); super(Global.testingServer, d_in);
} }

View File

@@ -3,8 +3,6 @@ import Common.Current;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.Database; import Common.Database.Database;
import Common.Global; import Common.Global;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Common.TestingServer; import TestingSystem.Common.TestingServer;
public class PublishServerAccountObject<D extends DBObject> extends PublishServerObject<TestingServer, D> { public class PublishServerAccountObject<D extends DBObject> extends PublishServerObject<TestingServer, D> {
public PublishServerAccountObject(Class<D> d_in) { public PublishServerAccountObject(Class<D> d_in) {
@@ -15,7 +13,7 @@ public class PublishServerAccountObject<D extends DBObject> extends PublishServe
return Global.testingServer.account_db; return Global.testingServer.account_db;
} }
@Override @Override
protected void ServerAction() throws Exception { protected String getEmail() {
Command(new ServerExchangeUnit_2021(ServerCode.PublishAccountAIObject, Current.getAccount().email, target)); return Current.getAccount().email;
} }
} }

View File

@@ -3,6 +3,8 @@ import Common.Current;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject; import Common.Database.riDBObject;
import Repository.RepositoryServer; import Repository.RepositoryServer;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
public class PublishServerObject<S extends RepositoryServer, D extends DBObject> extends ServerObjectPass<S, D> { public class PublishServerObject<S extends RepositoryServer, D extends DBObject> extends ServerObjectPass<S, D> {
public Object pk = null; public Object pk = null;
public PublishServerObject(S server_in, Class<D> d_in) { public PublishServerObject(S server_in, Class<D> d_in) {
@@ -27,10 +29,11 @@ public class PublishServerObject<S extends RepositoryServer, D extends DBObject>
} }
return false; return false;
} }
protected String getEmail(){return null;}
//-- //--
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
PublishObject(target); Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, getEmail(), target));
pk = response.object; pk = response.object;
} }
@Override @Override

View File

@@ -1,7 +1,6 @@
package Visual_DVM_2021.Passes.Server; package Visual_DVM_2021.Passes.Server;
import Common.Constants; import Common.Constants;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.iDBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import Repository.RepositoryRefuseException; import Repository.RepositoryRefuseException;
@@ -119,14 +118,6 @@ public abstract class RepositoryPass<S extends RepositoryServer, T> extends Pass
} else } else
super.CheckException(ex); super.CheckException(ex);
} }
///--- ОБЪЕКТЫ ГЛАВНОЙ БАЗЫ ----------------
public void PublishObject(DBObject object) throws Exception {
Command(new ServerExchangeUnit_2021(
((object instanceof iDBObject) ? ServerCode.PublishAIObject : ServerCode.PublishObject),
"",
object
));
}
public void EditObject(DBObject object) throws Exception { public void EditObject(DBObject object) throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.EditObject, "", object)); Command(new ServerExchangeUnit_2021(ServerCode.EditObject, "", object));
} }