продолжение рефакторинга клиентских проходов.

This commit is contained in:
2025-02-04 16:06:49 +03:00
parent e15f2921ee
commit 8696c7e66f
6 changed files with 61 additions and 46 deletions

7
.idea/workspace.xml generated
View File

@@ -8,8 +8,11 @@
<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 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$/src/_VisualDVM/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Common/Database/Database.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/Database.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Utils.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SynchronizeTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SynchronizeTests.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/ClientPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/ClientPass.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/RepositoryPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/RepositoryPass.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/TestsDatabase.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" />

View File

@@ -7,6 +7,7 @@ import Common.Database.Tables.DataSet;
import Common.Passes.PassCode_; import Common.Passes.PassCode_;
import Common.Utils.TextLog; import Common.Utils.TextLog;
import Common.Utils.Utils_; import Common.Utils.Utils_;
import org.apache.commons.io.FileUtils;
import java.io.File; import java.io.File;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@@ -294,4 +295,13 @@ public abstract class Database {
return log.isEmpty(); return log.isEmpty();
} }
public abstract PassCode_ getSynchronizePassCode(); //если бд есть на сервере. public abstract PassCode_ getSynchronizePassCode(); //если бд есть на сервере.
//--
public void ReplaceFileAndReconnect(File file_in) throws Exception{
Disconnect();
Utils_.forceDeleteWithCheck(getFile());
FileUtils.moveFile(file_in, getFile());
Connect();
prepareTablesStatements();
Synchronize();
}
} }

View File

@@ -2,10 +2,11 @@ package _VisualDVM.Passes.All;
import Common.Utils.Utils_; import Common.Utils.Utils_;
import Common.Visual.Controls.PassButton; import Common.Visual.Controls.PassButton;
import _VisualDVM.Global; import _VisualDVM.Global;
import _VisualDVM.Passes.Server.TestingSystemPass; import _VisualDVM.Passes.Server.ClientPass;
import _VisualDVM.Repository.Server.ServerCode; import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021; import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import _VisualDVM.ServerObjectsCache.VisualCaches; import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration; import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage; import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration; import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
@@ -15,19 +16,19 @@ import org.apache.commons.io.FileUtils;
import javax.swing.*; import javax.swing.*;
import java.io.File; import java.io.File;
public class SynchronizeTests extends TestingSystemPass<Object> { public class SynchronizeTests extends ClientPass<TestingServer,Object> {
File new_db_file; File new_db_file;
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
return Global.mainModule.getAccount().CheckRegistered(Log); return Global.mainModule.getAccount().CheckRegistered(Log)&&SendRequest(ServerCode.ReceiveTestsDatabase);
} }
@Override @Override
public String getIconPath() { public String getIconPath() {
return "/icons/ComponentsActual.png"; return "/icons/ComponentsActual.png";
} }
@Override @Override
public String getButtonText() { protected TestingServer getServer() {
return ""; return Global.testingServer;
} }
@Override @Override
public JButton createButton() { public JButton createButton() {
@@ -35,53 +36,21 @@ public class SynchronizeTests extends TestingSystemPass<Object> {
} }
@Override @Override
protected void showPreparation() throws Exception { protected void showPreparation() throws Exception {
server.db.SaveLastSelections(); getServer().db.DropUI();
//--
// server.db.machines _testing_system
//--
server.db.dvmConfigurations.ClearUI();
server.db.groups.ClearUI();
server.db.sapforConfigurations.ClearUI();
server.db.serverSapfors.ClearUI();
server.db.dvmPackages.ClearUI();
server.db.sapforPackages.ClearUI();
server.db.sapforSettings.ClearUI();
server.db.dvmSettings.ClearUI();
} }
@Override @Override
protected void ServerAction() throws Exception { protected void body() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ReceiveTestsDatabase)); request.server_response.Unpack(new_db_file = Utils.getTempFileName("tdb"));
server_response.Unpack(new_db_file = Utils.getTempFileName("tdb"));
} }
@Override @Override
protected void performDone() throws Exception { protected void performDone() throws Exception {
super.performDone(); super.performDone();
server.db.Disconnect(); getServer().db.ReplaceFileAndReconnect(new_db_file);
Utils_.forceDeleteWithCheck(server.db.getFile());
FileUtils.moveFile(new_db_file, server.db.getFile());
server.db.Connect();
server.db.prepareTablesStatements();
server.db.Synchronize();
} }
@Override @Override
protected void showDone() throws Exception { protected void showDone() throws Exception {
if (Global.mainModule.getUI().hasMainWindow()) { if (Global.mainModule.getUI().hasMainWindow()) {
//-- getServer().db.ResetUI();
//--
VisualCaches.ClearDataForClass(DVMConfiguration.class);
VisualCaches.ClearDataForClass(SapforConfiguration.class);
VisualCaches.ClearDataForClass(DVMPackage.class);
VisualCaches.ClearDataForClass(SapforPackage.class);
//server.db.machines
server.db.dvmConfigurations.ShowUI();
server.db.groups.ShowUI();
server.db.sapforConfigurations.ShowUI();
server.db.serverSapfors.ShowUI();
server.db.dvmPackages.ShowUI();
server.db.sapforPackages.ShowUI();
server.db.sapforSettings.ShowUI();
server.db.dvmSettings.ShowUI();
server.db.RestoreLastSelections(); //---- ? объединить с RestoreCredentials
Global.mainModule.getUI().getMainWindow().ShowCheckedTestsCount(); Global.mainModule.getUI().getMainWindow().ShowCheckedTestsCount();
} }
} }

View File

@@ -43,4 +43,7 @@ public abstract class ClientPass <S extends RepositoryServer,T> extends Pass<T>
protected boolean SendRequest(ServerCode code_in,String arg_in, Serializable object_in){ protected boolean SendRequest(ServerCode code_in,String arg_in, Serializable object_in){
return SendRequest(code_in,arg_in, object_in, Global.properties.SocketTimeout); return SendRequest(code_in,arg_in, object_in, Global.properties.SocketTimeout);
} }
protected boolean SendRequest(ServerCode code_in){
return SendRequest(code_in, "", null);
}
} }

View File

@@ -21,8 +21,8 @@ public abstract class RepositoryPass<S extends RepositoryServer, T> extends Pass
protected ObjectInputStream in = null; // поток чтения из сокета protected ObjectInputStream in = null; // поток чтения из сокета
protected ObjectOutputStream out = null; // поток записи в сокет protected ObjectOutputStream out = null; // поток записи в сокет
//- //-
protected ServerExchangeUnit_2021 client_request; public ServerExchangeUnit_2021 client_request;
protected ServerExchangeUnit_2021 server_response; public ServerExchangeUnit_2021 server_response;
//- //-
protected Socket clientSocket = null; //сокет для общения protected Socket clientSocket = null; //сокет для общения
protected ServerCode ExitCode = ServerCode.Undefined; protected ServerCode ExitCode = ServerCode.Undefined;

View File

@@ -10,16 +10,19 @@ import _VisualDVM.GlobalData.Account.Account;
import _VisualDVM.Passes.All.ZipFolderPass; import _VisualDVM.Passes.All.ZipFolderPass;
import _VisualDVM.Passes.PassCode; import _VisualDVM.Passes.PassCode;
import _VisualDVM.Repository.Component.Sapfor.Sapfor; import _VisualDVM.Repository.Component.Sapfor.Sapfor;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group; import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable; import _VisualDVM.TestingSystem.Common.Group.GroupsDBTable;
import _VisualDVM.TestingSystem.Common.Test.Test; import _VisualDVM.TestingSystem.Common.Test.Test;
import _VisualDVM.TestingSystem.Common.Test.TestDBTable; import _VisualDVM.TestingSystem.Common.Test.TestDBTable;
import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable; import _VisualDVM.TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfigurationDBTable; import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfigurationDBTable;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage; import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable; import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettingsDBTable; import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettingsDBTable;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTasksSet; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationDBTable; import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfigurationDBTable;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage; import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable; import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackageDBTable;
@@ -326,4 +329,31 @@ public class TestsDatabase extends SQLiteDatabase {
} }
//todo возможно рассмотреть вариант с синхроннизацией тестов для пакетов через команду серверу а не в нити //todo возможно рассмотреть вариант с синхроннизацией тестов для пакетов через команду серверу а не в нити
//во избежание конфликта доступа,или удалением тестов во время копирования(?) //во избежание конфликта доступа,или удалением тестов во время копирования(?)
public void DropUI(){
SaveLastSelections();
dvmConfigurations.ClearUI();
groups.ClearUI();
sapforConfigurations.ClearUI();
serverSapfors.ClearUI();
dvmPackages.ClearUI();
sapforPackages.ClearUI();
sapforSettings.ClearUI();
dvmSettings.ClearUI();
}
public void ResetUI(){
VisualCaches.ClearDataForClass(DVMConfiguration.class);
VisualCaches.ClearDataForClass(SapforConfiguration.class);
VisualCaches.ClearDataForClass(DVMPackage.class);
VisualCaches.ClearDataForClass(SapforPackage.class);
//server.db.machines
dvmConfigurations.ShowUI();
groups.ShowUI();
sapforConfigurations.ShowUI();
serverSapfors.ShowUI();
dvmPackages.ShowUI();
sapforPackages.ShowUI();
sapforSettings.ShowUI();
dvmSettings.ShowUI();
RestoreLastSelections();
}
} }