промежуточный. Рефакторинг публикации теста из текущего проекта.
This commit is contained in:
@@ -2,7 +2,6 @@ package Repository;
|
||||
import Common.Constants;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.Database;
|
||||
import Common.Database.iDBObject;
|
||||
import Common.Global;
|
||||
import Common.Utils.InterruptThread;
|
||||
import Common.Utils.Utils;
|
||||
@@ -171,10 +170,6 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
public boolean needsEmail(String email) {
|
||||
return true;
|
||||
}
|
||||
public void beforePublishAction(DBObject object) throws Exception {
|
||||
}
|
||||
public void afterPublishAction(DBObject object) throws Exception {
|
||||
}
|
||||
public boolean canDelete(DBObject object) throws Exception {
|
||||
return true;
|
||||
}
|
||||
@@ -276,28 +271,8 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = db.getObjectsCopies(p.getKey(), (Vector<Object>) p.getValue());
|
||||
break;
|
||||
case DeleteObjects:
|
||||
Print("Удалить список объектов ");
|
||||
Vector<Object> objects = (Vector<Object>) request.object;
|
||||
db.BeginTransaction();
|
||||
for (Object object : objects) {
|
||||
dbObject = (DBObject) object;
|
||||
if (canDelete(dbObject)) {
|
||||
db.DeleteWithCheck(dbObject);
|
||||
DeleteAction(dbObject);
|
||||
}
|
||||
}
|
||||
db.Commit();
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
break;
|
||||
//------------------------
|
||||
case PublishObject:
|
||||
dbObject = (DBObject) request.object;
|
||||
beforePublishAction(dbObject);
|
||||
PublishObject(dbObject);
|
||||
afterPublishAction(dbObject);
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = (Serializable) dbObject.getPK();
|
||||
PublishObject();
|
||||
break;
|
||||
//</editor-fold>
|
||||
case EXIT:
|
||||
@@ -345,13 +320,18 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
}
|
||||
}
|
||||
}
|
||||
public void PublishObject(DBObject dbObject) throws Exception {
|
||||
if (dbObject instanceof iDBObject) {
|
||||
Print("Опубликовать объект");
|
||||
db.Insert(dbObject);
|
||||
} else {
|
||||
Print("Опубликовать объект с автоинкрементным ключом");
|
||||
db.InsertWithCheck(dbObject); //проверка не нужна,АИ гарантирует что ключ уникален.
|
||||
}
|
||||
private void PublishObject() throws Exception {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
DBObject dbObject = (DBObject) request.object;
|
||||
beforePublishAction(dbObject);
|
||||
response.object = publishObject(dbObject);
|
||||
afterPublishAction(dbObject);
|
||||
}
|
||||
protected Serializable publishObject(DBObject object) throws Exception {
|
||||
return (Serializable) db.InsertS(object).getPK();
|
||||
}
|
||||
protected void beforePublishAction(DBObject object) throws Exception {
|
||||
}
|
||||
protected void afterPublishAction(DBObject object) throws Exception {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user