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

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

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();