проход для массового удаления объектов в сервера.
массовое удаление групп.
This commit is contained in:
12
.idea/workspace.xml
generated
12
.idea/workspace.xml
generated
@@ -7,14 +7,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<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 afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteSubscriberWorkspace.java" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/DeleteServerObjects.java" afterDir="false" />
|
||||||
<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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/SubscriberWorkspacesMenuBar/SubscriberWorkspacesMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/SubscriberWorkspacesMenuBar/SubscriberWorkspacesMenuBar.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/Subscribes/SubsribersDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Subscribes/SubsribersDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeBugReports.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SynchronizeBugReports.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/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.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/Visual_DVM_2021/UI/Main/CallbackForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/CallbackForm.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteGroup.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DeleteGroup.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" />
|
||||||
|
|||||||
@@ -28,5 +28,5 @@
|
|||||||
"TestingKernels": 64,
|
"TestingKernels": 64,
|
||||||
"AutoCheckTesting": false,
|
"AutoCheckTesting": false,
|
||||||
"CheckTestingIntervalSeconds": 10,
|
"CheckTestingIntervalSeconds": 10,
|
||||||
"EmailOnTestingProgress": true
|
"EmailOnTestingProgress": false
|
||||||
}
|
}
|
||||||
@@ -173,8 +173,6 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
public boolean canDelete(DBObject object) throws Exception {
|
public boolean canDelete(DBObject object) throws Exception {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public void DeleteAction(DBObject object) throws Exception {
|
|
||||||
}
|
|
||||||
public void StartAction() throws Exception {
|
public void StartAction() throws Exception {
|
||||||
}
|
}
|
||||||
public void Start() throws Exception {
|
public void Start() throws Exception {
|
||||||
@@ -249,13 +247,7 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
dbObject = (DBObject) request.object;
|
dbObject = (DBObject) request.object;
|
||||||
Print("Удалить объект " + dbObject.getPK());
|
Print("Удалить объект " + dbObject.getPK());
|
||||||
db.DeleteWithCheck(dbObject);
|
db.DeleteWithCheck(dbObject);
|
||||||
DeleteAction(dbObject);
|
afterDeleteAction(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()));
|
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
break;
|
break;
|
||||||
case GetObjectCopyByPK:
|
case GetObjectCopyByPK:
|
||||||
@@ -277,6 +269,12 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
case PublishObjects:
|
case PublishObjects:
|
||||||
PublishObjects();
|
PublishObjects();
|
||||||
break;
|
break;
|
||||||
|
case DeleteObjectByPK:
|
||||||
|
DeleteObjectByPK();
|
||||||
|
break;
|
||||||
|
case DeleteObjectsByPK:
|
||||||
|
DeleteObjectsByPK();
|
||||||
|
break;
|
||||||
//</editor-fold>
|
//</editor-fold>
|
||||||
case EXIT:
|
case EXIT:
|
||||||
Print("ЗАВЕРШИТЬ РАБОТУ СЕРВЕРА");
|
Print("ЗАВЕРШИТЬ РАБОТУ СЕРВЕРА");
|
||||||
@@ -323,30 +321,48 @@ public abstract class RepositoryServer<D extends Database> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//--
|
||||||
|
protected Database getDefaultDatabase(){
|
||||||
|
return db;
|
||||||
|
}
|
||||||
|
//--
|
||||||
private void PublishObject() throws Exception {
|
private void PublishObject() throws Exception {
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
DBObject dbObject = (DBObject) request.object;
|
DBObject dbObject = (DBObject) request.object;
|
||||||
beforePublishAction(dbObject);
|
beforePublishAction(dbObject);
|
||||||
response.object = publishObject(dbObject);
|
response.object = (Serializable) getDefaultDatabase().InsertS(dbObject).getPK();
|
||||||
afterPublishAction(dbObject);
|
afterPublishAction(dbObject);
|
||||||
}
|
}
|
||||||
private void PublishObjects() throws Exception {
|
private void PublishObjects() throws Exception {
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
Vector<DBObject> objects = (Vector<DBObject>) request.object;
|
Vector<DBObject> objects = (Vector<DBObject>) request.object;
|
||||||
for (DBObject dbObject: objects){
|
Database database = getDefaultDatabase();
|
||||||
System.out.println(db);
|
for (DBObject dbObject : objects) {
|
||||||
beforePublishAction(dbObject);
|
beforePublishAction(dbObject);
|
||||||
response.object = publishObject(dbObject);
|
response.object = (Serializable) database.InsertS(dbObject).getPK();
|
||||||
System.out.println(response.object);
|
|
||||||
afterPublishAction(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 beforePublishAction(DBObject object) throws Exception {
|
||||||
}
|
}
|
||||||
protected void afterPublishAction(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 {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
|
|||||||
return 7995;
|
return 7995;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void DeleteAction(DBObject object) throws Exception {
|
public void afterDeleteAction(DBObject object) throws Exception {
|
||||||
if (object instanceof BugReport) {
|
if (object instanceof BugReport) {
|
||||||
BugReport bugReport = (BugReport) object;
|
BugReport bugReport = (BugReport) object;
|
||||||
if (!bugReport.project_version.isEmpty())
|
if (!bugReport.project_version.isEmpty())
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ public enum ServerCode {
|
|||||||
GetObjectCopyByPK,
|
GetObjectCopyByPK,
|
||||||
GetObjectsCopiesByPK,
|
GetObjectsCopiesByPK,
|
||||||
DeleteObjects,
|
DeleteObjects,
|
||||||
|
DeleteObjectsByPK,
|
||||||
CheckObjectExistense, //
|
CheckObjectExistense, //
|
||||||
//--
|
//--
|
||||||
EditAccountObject,
|
EditAccountObject,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package TestingSystem.Common;
|
package TestingSystem.Common;
|
||||||
import Common.Constants;
|
import Common.Constants;
|
||||||
import Common.Database.DBObject;
|
import Common.Database.DBObject;
|
||||||
|
import Common.Database.Database;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import GlobalData.Account.Account;
|
import GlobalData.Account.Account;
|
||||||
@@ -38,7 +39,6 @@ import org.apache.commons.io.FileUtils;
|
|||||||
|
|
||||||
import javax.swing.Timer;
|
import javax.swing.Timer;
|
||||||
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.*;
|
import java.util.*;
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void DeleteAction(DBObject object) throws Exception {
|
public void afterDeleteAction(DBObject object) throws Exception {
|
||||||
if (object instanceof Test) {
|
if (object instanceof Test) {
|
||||||
Test test = (Test) object;
|
Test test = (Test) object;
|
||||||
Utils.forceDeleteWithCheck(test.getArchive());
|
Utils.forceDeleteWithCheck(test.getArchive());
|
||||||
@@ -340,7 +340,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
Print("Удалить объект по ключу из базы пользователя " + request.arg);
|
Print("Удалить объект по ключу из базы пользователя " + request.arg);
|
||||||
SetCurrentAccountDB(request.arg);
|
SetCurrentAccountDB(request.arg);
|
||||||
Pair<Class, Object> to_delete = (Pair<Class, Object>) request.object;
|
Pair<Class, Object> to_delete = (Pair<Class, Object>) request.object;
|
||||||
DeleteAction(account_db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
|
afterDeleteAction(account_db.DeleteByPK(to_delete.getKey(), to_delete.getValue()));
|
||||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||||
break;
|
break;
|
||||||
case GetActualSapforPackageData:
|
case GetActualSapforPackageData:
|
||||||
@@ -542,12 +542,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
|||||||
}
|
}
|
||||||
//-------------------------------------------------------------------------------------->>>
|
//-------------------------------------------------------------------------------------->>>
|
||||||
@Override
|
@Override
|
||||||
protected Serializable publishObject(DBObject object) throws Exception {
|
protected Database getDefaultDatabase() {
|
||||||
if (request.arg == null) return super.publishObject(object);
|
if (request.arg == null) return super.getDefaultDatabase();
|
||||||
else {
|
|
||||||
SetCurrentAccountDB(request.arg);
|
SetCurrentAccountDB(request.arg);
|
||||||
return (Serializable) account_db.InsertS(object).getPK();
|
return account_db;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void beforePublishAction(DBObject object) throws Exception {
|
public void beforePublishAction(DBObject object) throws Exception {
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package Visual_DVM_2021.Passes.All;
|
|||||||
import Common.Global;
|
import Common.Global;
|
||||||
import TestingSystem.Common.Group.Group;
|
import TestingSystem.Common.Group.Group;
|
||||||
import TestingSystem.Common.TestingServer;
|
import TestingSystem.Common.TestingServer;
|
||||||
import Visual_DVM_2021.Passes.Server.DeleteServerObject;
|
import Visual_DVM_2021.Passes.DeleteServerObjects;
|
||||||
public class DeleteGroup extends DeleteServerObject<TestingServer, Group> {
|
public class DeleteGroup extends DeleteServerObjects<TestingServer, Group> {
|
||||||
public DeleteGroup() {
|
public DeleteGroup() {
|
||||||
super(Global.testingServer, Group.class);
|
super(Global.testingServer, Group.class);
|
||||||
}
|
}
|
||||||
|
|||||||
75
src/Visual_DVM_2021/Passes/DeleteServerObjects.java
Normal file
75
src/Visual_DVM_2021/Passes/DeleteServerObjects.java
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
package Visual_DVM_2021.Passes;
|
||||||
|
import Common.Current;
|
||||||
|
import Common.Database.DBObject;
|
||||||
|
import Common.Database.DBTable;
|
||||||
|
import Common.Database.Database;
|
||||||
|
import Common.UI.UI;
|
||||||
|
import Repository.RepositoryServer;
|
||||||
|
import Repository.Server.ServerCode;
|
||||||
|
import Repository.Server.ServerExchangeUnit_2021;
|
||||||
|
import Visual_DVM_2021.Passes.Server.RepositoryPass;
|
||||||
|
import javafx.util.Pair;
|
||||||
|
|
||||||
|
import java.util.Vector;
|
||||||
|
public class DeleteServerObjects <S extends RepositoryServer, D extends DBObject> extends RepositoryPass<S, Vector<Object>> {
|
||||||
|
protected Class<D> d; //класс объектов.
|
||||||
|
//---
|
||||||
|
@Override
|
||||||
|
public String getIconPath() {
|
||||||
|
return "/icons/Delete.png";
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String getButtonText() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
//---
|
||||||
|
protected Database getDb() {
|
||||||
|
return server.db;
|
||||||
|
}
|
||||||
|
protected String getEmail(){return null;}
|
||||||
|
//---
|
||||||
|
public DeleteServerObjects(S server_in, Class<D> d_in) {
|
||||||
|
super(server_in);
|
||||||
|
d = d_in;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
|
DBTable table =getDb().tables.get(d);
|
||||||
|
if (table.getCheckedCount()>0) {
|
||||||
|
target = table.getCheckedKeys();
|
||||||
|
return UI.Warning(table.getCheckedCount()+" объектов будет удален(о).");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (Current.Check(Log, table.CurrentName())){
|
||||||
|
target = new Vector<>();
|
||||||
|
target.add(table.getCurrent().getPK());
|
||||||
|
return getDb().tables.get(d).CheckCurrent(Log) && getDb().tables.get(d).ShowDeleteObjectDialog(table.getCurrent());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Очищаем все связанные таблицы, чтобы не допустить перерисовки во время удаления объекта.
|
||||||
|
@Override
|
||||||
|
protected void showPreparation() throws Exception {
|
||||||
|
getDb().tables.get(d).ClearUI();
|
||||||
|
for (Class dep : getDb().tables.get(d).getFKDependencies().keySet()) {
|
||||||
|
switch (getDb().tables.get(d).getFKDependencies().get(dep).data) {
|
||||||
|
case NONE:
|
||||||
|
case DROP:
|
||||||
|
break;
|
||||||
|
case DELETE:
|
||||||
|
getDb().tables.get(dep).ClearUI();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void ServerAction() throws Exception {
|
||||||
|
Command(new ServerExchangeUnit_2021(ServerCode.DeleteObjectsByPK, getEmail(),new Pair<>(d, target)));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
protected void performFinish() throws Exception {
|
||||||
|
super.performFinish();
|
||||||
|
passes.get(getDb().getSynchronizePassCode()).Do();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user