diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 1e3c3aa3..dba2f90e 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -7,10 +7,12 @@ - + - + + + diff --git a/properties b/properties index 66347250..0bd91828 100644 --- a/properties +++ b/properties @@ -6,7 +6,7 @@ "Visualizer_2Path": "C:\\Users\\misha\\Documents", "InstructionPath": "C:\\Users\\misha\\Documents", "PerformanceAnalyzerPath": "C:\\Users\\misha\\Documents", - "AutoUpdateSearch": false, + "AutoUpdateSearch": true, "AutoBugReportsLoad": true, "AutoTestsLoad": true, "ConfirmPassesStart": true, diff --git a/src/_VisualDVM/Passes/All/AppendBugReportField.java b/src/_VisualDVM/Passes/All/AppendBugReportField.java index ee5b410f..2d9f528d 100644 --- a/src/_VisualDVM/Passes/All/AppendBugReportField.java +++ b/src/_VisualDVM/Passes/All/AppendBugReportField.java @@ -20,10 +20,6 @@ public class AppendBugReportField extends ClientPass { @Override public String getIconPath() { return "/icons/Components.png"; } @Override - public String getButtonText() { - return ""; + protected ComponentsServer getServer() { + return Global.componentsServer; } @Override - protected void ServerAction() throws Exception { - Vector versions = new Vector<>(); - for (Component component : Global.components.Data.values()) - versions.add(component.getComponentType().toString()); - Command(new ServerExchangeUnit_2021(ServerCode.GetComponentsVersions, String.join("\n", versions))); - LinkedHashMap response_actual_versions = (LinkedHashMap) server_response.object; - for (ComponentType componentType : response_actual_versions.keySet()) { - Global.components.get(componentType).unpackActualVersion(response_actual_versions.get(componentType)); - } - //-- получить актуальные версии с сервера. - Command(new ServerExchangeUnit_2021(ServerCode.GetComponentsMinimalVersions, String.join("\n", versions))); - LinkedHashMap response_minimal_versions = (LinkedHashMap) server_response.object; - for (ComponentType componentType : response_minimal_versions.keySet()) { - Global.components.get(componentType).unpackMinimalVersion(response_minimal_versions.get(componentType)); + protected void body() throws Exception { + Vector types = new Vector<>(); + for (ComponentType key: Global.components.Data.keySet()) + types.add(key.toString()); + Vector versions = (Vector) getServer().ClientRequest(ServerCode.GetComponentsVersionsInfo, "", types); + for (ComponentVersionsInfoJson info: versions){ + Global.components.get(info.componentType).unpackActualVersion(info.actual_version); + Global.components.get(info.componentType).unpackMinimalVersion(info.minimal_version); } for (Component component : Global.components.Data.values()) { if (component.CanBeUpdated()) diff --git a/src/_VisualDVM/Passes/Server/ClientPass.java b/src/_VisualDVM/Passes/Server/ClientPass.java index d1fd5d31..cc35da1a 100644 --- a/src/_VisualDVM/Passes/Server/ClientPass.java +++ b/src/_VisualDVM/Passes/Server/ClientPass.java @@ -2,5 +2,13 @@ package _VisualDVM.Passes.Server; import Common.Passes.Pass; import _VisualDVM.Repository.RepositoryServer; public abstract class ClientPass extends Pass { + @Override + protected boolean needsAnimation() { + return true; + } + @Override + public String getButtonText() { + return ""; + } protected abstract S getServer(); } diff --git a/src/_VisualDVM/Repository/Component/Json/ComponentVersionsInfoJson.java b/src/_VisualDVM/Repository/Component/Json/ComponentVersionsInfoJson.java new file mode 100644 index 00000000..76b00a55 --- /dev/null +++ b/src/_VisualDVM/Repository/Component/Json/ComponentVersionsInfoJson.java @@ -0,0 +1,17 @@ +package _VisualDVM.Repository.Component.Json; +import Common.CommonConstants; +import _VisualDVM.Repository.Component.ComponentType; +import com.google.gson.annotations.Expose; + +import java.io.Serializable; +public class ComponentVersionsInfoJson implements Serializable { + @Expose + public ComponentType componentType = ComponentType.Undefined; + @Expose + public String minimal_version = ""; + @Expose + public String actual_version = ""; + public ComponentVersionsInfoJson(ComponentType componentType_in){ + componentType=componentType_in; + } +} diff --git a/src/_VisualDVM/Repository/RepositoryServer.java b/src/_VisualDVM/Repository/RepositoryServer.java index 8528f034..5cd0bbb1 100644 --- a/src/_VisualDVM/Repository/RepositoryServer.java +++ b/src/_VisualDVM/Repository/RepositoryServer.java @@ -375,7 +375,7 @@ public abstract class RepositoryServer { RepositoryPass pass = new RepositoryPass(this) { @Override public String getDescription() { - return code_in.toString(); + return code_in.getDescription(); } @Override protected int getTimeout() { @@ -396,7 +396,7 @@ public abstract class RepositoryServer { throw new PassException(Utils_.Brackets(new Date().toString()) + " Ошибка взаимодействия с сервером " + code_in); } public Object ClientRequest(ServerCode code_in,String arg_in, Serializable object_in)throws Exception { - return ClientRequest(code_in,arg_in,object_in, 120000); + return ClientRequest(code_in,arg_in,object_in, Global.properties.SocketTimeout); } //--- public T getActual(T object_in, Class object_class)throws Exception{ diff --git a/src/_VisualDVM/Repository/Server/ComponentsServer.java b/src/_VisualDVM/Repository/Server/ComponentsServer.java index 37f90889..20cf00b6 100644 --- a/src/_VisualDVM/Repository/Server/ComponentsServer.java +++ b/src/_VisualDVM/Repository/Server/ComponentsServer.java @@ -17,6 +17,7 @@ import _VisualDVM.Repository.BugReport.BugReport; import _VisualDVM.Repository.BugReport.Json.BugReportAdditionJson; import _VisualDVM.Repository.BugReportsDatabase; import _VisualDVM.Repository.Component.ComponentType; +import _VisualDVM.Repository.Component.Json.ComponentVersionsInfoJson; import _VisualDVM.Repository.EmailMessage; import _VisualDVM.Repository.RepositoryServer; import _VisualDVM.Repository.Subscribes.Subscriber; @@ -194,11 +195,11 @@ public class ComponentsServer extends RepositoryServer { } else throw new RepositoryRefuseException("Баг репорт с ключом " + oldBugReport_.id + " не существует."); break; - //-- + //-- case AppendBugReportTextField: AppendBugReportField(); break; - //-- + //-- case ReceiveBugReportsDatabase: Print("Получить базу данных баг репортов"); response = new ServerExchangeUnit_2021(ServerCode.OK); @@ -339,6 +340,9 @@ public class ComponentsServer extends RepositoryServer { response = new ServerExchangeUnit_2021(ServerCode.OK); response.object = response_minimal_versions_; break; + case GetComponentsVersionsInfo: + GetComponentsVersionsInfo(); + break; case GetComponentChangesLog: Print("Получить журнал изменений компонента " + request.arg); response = new ServerExchangeUnit_2021(ServerCode.OK); @@ -413,21 +417,36 @@ public class ComponentsServer extends RepositoryServer { break; } } - private void AppendBugReportField() throws Exception{ + //--------------- + private void GetComponentsVersionsInfo() throws Exception { + Print("Получить информацию о версиях компонент"); + Vector types = (Vector) request.object; + Vector res = new Vector<>(); + for (String sType : types) { + ComponentType componentType = ComponentType.valueOf(sType); + File actualVersionFile = Paths.get(Utils_.getHomePath(), "Components", sType, "version.txt").toFile(); + File minimalVersionFile = Paths.get(Utils_.getHomePath(), "Components", sType, "minimal_version.txt").toFile(); + ComponentVersionsInfoJson info = new ComponentVersionsInfoJson(componentType); + info.actual_version = Utils_.removeCharacters(Utils.ReadAllText(actualVersionFile), "\n", "\r"); + info.minimal_version = Utils_.removeCharacters(Utils.ReadAllText(minimalVersionFile), "\n", "\r"); + res.add(info); + } + response = new ServerExchangeUnit_2021(ServerCode.OK); + response.object = res; + } + private void AppendBugReportField() throws Exception { BugReportAdditionJson transport = (BugReportAdditionJson) request.object; Print("Дополнить поле " + request.arg + " баг репорта " + transport.id); - if (db.bugReports.containsKey(transport.id)){ + if (db.bugReports.containsKey(transport.id)) { BugReport actual = db.bugReports.get(transport.id); Field field = BugReport.class.getField(transport.fieldName); - field.set(actual,field.get(actual)+"\n"+ transport.textAddition); + field.set(actual, field.get(actual) + "\n" + transport.textAddition); actual.change_date = new Date().getTime(); db.Update(actual); response = new ServerExchangeUnit_2021(ServerCode.OK); response.object = actual; - } - else + } else throw new RepositoryRefuseException("Баг репорт с ключом " + transport.id + " не существует."); - } @Override protected void startAdditionalThreads() { diff --git a/src/_VisualDVM/Repository/Server/ServerCode.java b/src/_VisualDVM/Repository/Server/ServerCode.java index b9d1dfd4..96703ec6 100644 --- a/src/_VisualDVM/Repository/Server/ServerCode.java +++ b/src/_VisualDVM/Repository/Server/ServerCode.java @@ -10,7 +10,7 @@ public enum ServerCode { //- GetComponentsBackups, //- - UpdateBugReportField, + UpdateBugReportField,//todo выкинуть после обновления. UpdateBugReport, AppendBugReportTextField, //- @@ -46,8 +46,9 @@ public enum ServerCode { ReceiveComponent, ReceiveBugReport, SendBugReport, - GetComponentsVersions, - GetComponentsMinimalVersions, + GetComponentsVersions, //todo удалить устарел + GetComponentsMinimalVersions, //todo удалить устарел + GetComponentsVersionsInfo, GetComponentChangesLog, //-- CheckURLRegistered, @@ -89,6 +90,14 @@ public enum ServerCode { GetSapforForCompilation, GetMaxSapforVersion, PerformAutoSapforTesting, - Email_new - ; + Email_new; + + public String getDescription(){ + switch (this){ + case GetComponentsVersionsInfo: + return "Получить версии компонент"; + default: + return this.toString(); + } + } }