рефакторинг взаимодействия с бд сервера. был индийский код при альтернативной базе на сервере компонент

This commit is contained in:
2025-03-21 01:21:54 +03:00
parent 78ee5bc428
commit 637e9c5c0f
17 changed files with 93 additions and 139 deletions

View File

@@ -212,7 +212,7 @@ public abstract class RepositoryServer<D extends Database> {
DeleteObjectsByPK();
break;
case CloneObjectByPK:
CloneObject();
CloneRObject();
break;
default:
Session();
@@ -373,26 +373,41 @@ public abstract class RepositoryServer<D extends Database> {
}
protected void extraBackup(File todayBackUp) {
}
//----
void PublishObject() throws Exception {
DBObject dbObject = (DBObject) request.object;
//--
public Database getDb() {
return db;
}
//-------------
void publishObject_(Database database, DBObject dbObject) throws Exception {
beforePublishAction(dbObject);
response.object = (Serializable) db.InsertS(dbObject).getPK();
response.object = (Serializable) database.InsertS(dbObject).getPK();
afterPublishAction(dbObject);
}
void PublishObjects() throws Exception {
Vector<DBObject> objects = (Vector<DBObject>) request.object;
for (DBObject dbObject : objects) {
beforePublishAction(dbObject);
response.object = (Serializable) db.InsertS(dbObject).getPK();
afterPublishAction(dbObject);
}
void editObject_(Database database, DBObject dbObject) throws Exception {
database.UpdateWithCheck(dbObject);
afterEditAction(dbObject);
}
void CloneObject() throws Exception {
void deleteObject_(Database database, Pair<Class, Object> to_delete) throws Exception {
DBObject dbObject = database.DeleteByPK(to_delete.getKey(), to_delete.getValue());
afterDeleteAction(dbObject);
database.DeleteDependencies(dbObject);
}
//--
void PublishObject() throws Exception {
publishObject_(getDb(), (DBObject) request.object);
}
void PublishObjects() throws Exception {
Database database = getDb();
for (DBObject dbObject : (Vector<DBObject>) request.object)
publishObject_(database, dbObject);
}
void CloneRObject() throws Exception {
Database database = getDb();
Pair<Class, Object> to_clone = (Pair<Class, Object>) request.object;
Object pk = to_clone.getValue();
if (db.getTable(to_clone.getKey()).containsKey(to_clone.getValue())) {
riDBObject src = (riDBObject) db.getTable(to_clone.getKey()).get(to_clone.getValue());
//--
if (database.getTable(to_clone.getKey()).containsKey(to_clone.getValue())) {
riDBObject src = (riDBObject) database.getTable(to_clone.getKey()).get(to_clone.getValue());
riDBObject dst = (riDBObject) to_clone.getKey().newInstance();
dst.SynchronizeFields(src);
//единственное отличие клона - текущий автор
@@ -400,34 +415,31 @@ public abstract class RepositoryServer<D extends Database> {
String[] packed = request.arg.split("\n");
dst.sender_name = packed[0];
dst.sender_address = packed[1];
db.Insert(dst);
database.Insert(dst);
afterCloneAction(src, dst);
response.object = (Serializable) dst.getPK();
}
}
void GetObjectCopyByPK() throws Exception {
Pair<Class, Object> p = (Pair<Class, Object>) request.object;
DBObject dbObject = db.getObjectCopyByPK(p.getKey(), p.getValue());
DBObject dbObject = getDb().getObjectCopyByPK(p.getKey(), p.getValue());
response.object = dbObject;
}
void GetObjectsCopiesByPK() throws Exception {
Pair<Class, Object> p = (Pair<Class, Object>) request.object;
response.object = db.getObjectsCopies(p.getKey(), (Vector<Object>) p.getValue());
response.object = getDb().getObjectsCopies(p.getKey(), (Vector<Object>) p.getValue());
}
void EditObject() throws Exception {
DBObject new_object = (DBObject) request.object;
db.UpdateWithCheck(new_object);
afterEditAction(new_object);
editObject_(getDb(), (DBObject) request.object);
}
void DeleteObjectByPK() throws Exception {
Pair<Class, Object> to_delete = (Pair<Class, Object>) request.object;
afterDeleteAction(db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
deleteObject_(getDb(),(Pair<Class, Object>) request.object );
}
void DeleteObjectsByPK() throws Exception {
Database database = getDb();
Pair<Class, Vector<Object>> to_delete = (Pair<Class, Vector<Object>>) request.object;
for (Object object : to_delete.getValue()) {
afterDeleteAction(db.DeleteByPK(to_delete.getKey(), object));
}
for (Object object : to_delete.getValue())
deleteObject_(database,new Pair<>(to_delete.getKey(),object));
}
//--
void Email() throws Exception {

View File

@@ -65,25 +65,12 @@ public enum ServerCode {
DetectTestsMinMaxDim,
GetUserAccountByKey,
GetUserAccountByEmail,
EditUserAccount,
PublishUserAccount,
DeleteUserAccount,
GetDVMPackageCredentials,
CreateBackUp,
GetFirstEmailToSend,
SynchronizeSapforRepoitory,
PublishSubscriberWorkspace,
EditSubcriberWorkpace,
DeleteSubscriberWorkspace
;
SynchronizeSapforRepoitory;
public String getDescription() {
switch (this) {
case PublishSubscriberWorkspace:
return "Публикация рабочего пространства пользователя на сервере";
case EditSubcriberWorkpace:
return "Редактировние рабочего пространства пользователя на сервере";
case DeleteSubscriberWorkspace:
return "Удаление рабочего пространства пользователя на сервере";
case SynchronizeSapforRepoitory:
return "Синхронизация репозитория SAPFOR на сервере";
case Email:
@@ -98,12 +85,6 @@ public enum ServerCode {
return "Создание резервной копии данных сервера";
case GetDVMPackageCredentials:
return "Получение входных данных пакета тестирования DVM на сервере";
case DeleteUserAccount:
return "Удаление учётной записи на сервере";
case PublishUserAccount:
return "Создание учётной записи на сервере";
case EditUserAccount:
return "Редактирование учётной записи на сервере";
case ReceiveCredentialsDatabase:
return "Скачивание базы учётных записей с сервера";
case GetUserAccountByEmail: