рефакторинг дополнения полей багов

This commit is contained in:
2025-02-03 19:53:48 +03:00
parent e0f441d82a
commit 46f44f48b7
6 changed files with 56 additions and 48 deletions

26
.idea/workspace.xml generated
View File

@@ -7,32 +7,12 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/ClientPass.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/BugReport/Json/BugReportAdditionJson.java" 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$/src/_VisualDVM/Passes/All/AppendBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/AppendBugReportField.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckRegistrationOnServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckRegistrationOnServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckRemoteWorkspace.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/CheckRemoteWorkspace.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DVMConvertProject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DVMConvertProject.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadAllBugReportsArchives.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadAllBugReportsArchives.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadBugReport.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadBugReport.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadComponent.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadComponent.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadDVMPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadDVMPackages.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadSapforPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DownloadTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/GetComponentsActualVersions.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/GetComponentsActualVersions.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/GetComponentsBackupsFromServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/GetComponentsBackupsFromServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ResurrectComponentFromServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ResurrectComponentFromServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ShowComponentChangesLog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ShowComponentChangesLog.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ShowTestingServerFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/ShowTestingServerFile.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SynchronizeBugReports.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/SynchronizeBugReports.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/All/UpdateBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/UpdateBugReportField.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/PublishServerObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Server/PublishServerObject.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/Passes/Testing/ActualizeTestingPackages.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/Testing/ActualizeTestingPackages.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryClient.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/RepositoryServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ComponentsServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -22,7 +22,7 @@
"Kernels": 8,
"LocalMakePathWindows": "C:\\MinGW\\msys\\1.0\\bin\\make.exe",
"CheckTestingIntervalSeconds": 10,
"AutoCheckTesting": true,
"AutoCheckTesting": false,
"EmailOnTestingProgress": true,
"lastMachineId": 13,
"lastUserId": 34,

View File

@@ -1,21 +1,14 @@
package _VisualDVM.Passes.All;
import Common.Database.Objects.DBObject;
import Common.Passes.Pass;
import Common.Properties;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.ClientPass;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReport.Json.BugReportAdditionJson;
import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.RepositoryServer;
import _VisualDVM.Repository.Server.ComponentsServer;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;
import com.google.gson.JsonObject;
import javafx.util.Pair;
import java.io.File;
import java.util.Date;
public class AppendBugReportField extends ClientPass<ComponentsServer, BugReport> {
String fieldName;
@@ -53,26 +46,19 @@ public class AppendBugReportField extends ClientPass<ComponentsServer,BugReport>
Log.Writeln_("Дополнение не может быть пустым.");
return false;
}
addition = Utils_.Brackets(Utils_.print_date(
new Date())) + " " + Global.mainModule.getAccount().name
+ " : " + addition;
return canUpdate();
}
return false;
}
@Override
protected void body() throws Exception {
//todo возможно оформить это единственной командой на сервере.
BugReport actual= getServer().getActual(target, BugReport.class);
BugReport actual =
(BugReport) getServer().ClientRequest(ServerCode.AppendBugReportTextField, "", new BugReportAdditionJson(target, fieldName, addition));
target.SynchronizeFields(actual);
oldValue = (String) BugReport.class.getField(fieldName).get(target);
newValue = oldValue + "\n" + Utils_.Brackets(Utils_.print_date(
new Date())) + " " + Global.mainModule.getAccount().name
+ " : " + addition;
//2. дописываем нужное поле.
BugReport.class.getField(fieldName).set(target, newValue);
//обновляем дату.
target.change_date = new Date().getTime();
Global.componentsServer.db.Update(target);
//3. отправляем на сервер
getServer().ClientRequest(ServerCode.UpdateBugReportField, fieldName, target);
}
@Override
protected void showFinish() throws Exception {

View File

@@ -0,0 +1,18 @@
package _VisualDVM.Repository.BugReport.Json;
import _VisualDVM.Repository.BugReport.BugReport;
import com.google.gson.annotations.Expose;
import java.io.Serializable;
public class BugReportAdditionJson implements Serializable {
@Expose
public String id = "";
@Expose
public String fieldName = "";
@Expose
public String textAddition ="";
public BugReportAdditionJson(BugReport bugReport, String fieldName_in, String addition_in){
id = bugReport.id;
fieldName = fieldName_in;
textAddition = addition_in;
}
}

View File

@@ -1,5 +1,4 @@
package _VisualDVM.Repository.Server;
import Common.CommonConstants;
import Common.Database.Objects.DBObject;
import Common.Database.RepositoryRefuseException;
import Common.Utils.Utils_;
@@ -15,6 +14,7 @@ import _VisualDVM.Passes.All.UnzipFolderPass;
import _VisualDVM.Passes.All.ZipFolderPass;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReport.Json.BugReportAdditionJson;
import _VisualDVM.Repository.BugReportsDatabase;
import _VisualDVM.Repository.Component.ComponentType;
import _VisualDVM.Repository.EmailMessage;
@@ -27,6 +27,7 @@ import org.apache.commons.io.FileUtils;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.lang.reflect.Field;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;
@@ -178,6 +179,7 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
} else
throw new RepositoryRefuseException("Баг репорт с ключом " + oldBugReport.id + " не существует.");
break;
//todo вывести устарело
case UpdateBugReportField: //нужно для дополнений полей
//-
BugReport oldBugReport_ = (BugReport) request.object;
@@ -192,6 +194,11 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
} else
throw new RepositoryRefuseException("Баг репорт с ключом " + oldBugReport_.id + " не существует.");
break;
//--
case AppendBugReportTextField:
AppendBugReportField();
break;
//--
case ReceiveBugReportsDatabase:
Print("Получить базу данных баг репортов");
response = new ServerExchangeUnit_2021(ServerCode.OK);
@@ -406,6 +413,22 @@ public class ComponentsServer extends RepositoryServer<BugReportsDatabase> {
break;
}
}
private void AppendBugReportField() throws Exception{
BugReportAdditionJson transport = (BugReportAdditionJson) request.object;
Print("Дополнить поле " + request.arg + " баг репорта " + 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);
actual.change_date = new Date().getTime();
db.Update(actual);
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = actual;
}
else
throw new RepositoryRefuseException("Баг репорт с ключом " + transport.id + " не существует.");
}
@Override
protected void startAdditionalThreads() {
backUp.start();

View File

@@ -12,6 +12,7 @@ public enum ServerCode {
//-
UpdateBugReportField,
UpdateBugReport,
AppendBugReportTextField,
//-
Email,
ReceiveAllArchives,