проход для массового удаления объектов в сервера.
массовое удаление групп.
This commit is contained in:
@@ -173,8 +173,6 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
public boolean canDelete(DBObject object) throws Exception {
|
||||
return true;
|
||||
}
|
||||
public void DeleteAction(DBObject object) throws Exception {
|
||||
}
|
||||
public void StartAction() throws Exception {
|
||||
}
|
||||
public void Start() throws Exception {
|
||||
@@ -249,13 +247,7 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
dbObject = (DBObject) request.object;
|
||||
Print("Удалить объект " + dbObject.getPK());
|
||||
db.DeleteWithCheck(dbObject);
|
||||
DeleteAction(dbObject);
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
break;
|
||||
case DeleteObjectByPK:
|
||||
Print("Удалить объект по ключу");
|
||||
Pair<Class, Object> to_delete = (Pair<Class, Object>) request.object;
|
||||
DeleteAction(db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
|
||||
afterDeleteAction(dbObject);
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
break;
|
||||
case GetObjectCopyByPK:
|
||||
@@ -277,6 +269,12 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
case PublishObjects:
|
||||
PublishObjects();
|
||||
break;
|
||||
case DeleteObjectByPK:
|
||||
DeleteObjectByPK();
|
||||
break;
|
||||
case DeleteObjectsByPK:
|
||||
DeleteObjectsByPK();
|
||||
break;
|
||||
//</editor-fold>
|
||||
case EXIT:
|
||||
Print("ЗАВЕРШИТЬ РАБОТУ СЕРВЕРА");
|
||||
@@ -323,30 +321,48 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
}
|
||||
}
|
||||
}
|
||||
//--
|
||||
protected Database getDefaultDatabase(){
|
||||
return db;
|
||||
}
|
||||
//--
|
||||
private void PublishObject() throws Exception {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
DBObject dbObject = (DBObject) request.object;
|
||||
beforePublishAction(dbObject);
|
||||
response.object = publishObject(dbObject);
|
||||
response.object = (Serializable) getDefaultDatabase().InsertS(dbObject).getPK();
|
||||
afterPublishAction(dbObject);
|
||||
}
|
||||
private void PublishObjects() throws Exception {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
Vector<DBObject> objects = (Vector<DBObject>) request.object;
|
||||
for (DBObject dbObject: objects){
|
||||
System.out.println(db);
|
||||
Database database = getDefaultDatabase();
|
||||
for (DBObject dbObject : objects) {
|
||||
beforePublishAction(dbObject);
|
||||
response.object = publishObject(dbObject);
|
||||
System.out.println(response.object);
|
||||
response.object = (Serializable) database.InsertS(dbObject).getPK();
|
||||
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 {
|
||||
}
|
||||
//------------------------------
|
||||
private void DeleteObjectByPK() throws Exception {
|
||||
Print("Удалить объект по ключу");
|
||||
Pair<Class, Object> to_delete = (Pair<Class, Object>) request.object;
|
||||
afterDeleteAction(getDefaultDatabase().DeleteByPK(to_delete.getKey(), to_delete.getValue()));
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
}
|
||||
private void DeleteObjectsByPK() throws Exception {
|
||||
Print("Удалить объекты по ключам");
|
||||
Pair<Class, Vector<Object>> to_delete = (Pair<Class, Vector<Object>>) request.object;
|
||||
Database database = getDefaultDatabase();
|
||||
for (Object object : to_delete.getValue()) {
|
||||
afterDeleteAction(database.DeleteByPK(to_delete.getKey(), object));
|
||||
}
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
}
|
||||
public void afterDeleteAction(DBObject object) throws Exception {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user