рефакторинг взаимодействия с бд сервера. был индийский код при альтернативной базе на сервере компонент
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user