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

This commit is contained in:
2024-12-01 23:55:14 +03:00
parent dd674dce48
commit 9c8abd7ee4
14 changed files with 159 additions and 36 deletions

View File

@@ -1,6 +1,8 @@
package _VisualDVM.GlobalData.Settings;
import Common.Database.Tables.DBTable;
import Common.Utils.Utils_;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingJson;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingsJson;
import _VisualDVM.Repository.Component.ComponentType;
import _VisualDVM.Utils;
@@ -90,4 +92,13 @@ public class SettingsDBTable extends DBTable<SettingName, DBSetting> {
return "настройки SAPFOR\n" + String.join("\n",
getSettingsByOwner(ComponentType.SapforOptions).stream().map(s -> " " + s.Name.getDescription() + "=" + s.Value).collect(Collectors.toCollection(Vector::new)));
}
public VisualiserSettingsJson getSapforSettingsJson() {
VisualiserSettingsJson res = new VisualiserSettingsJson();
Vector<DBSetting> sapforSettings = getSettingsByOwner(ComponentType.SapforOptions);
for (DBSetting setting: sapforSettings){
VisualiserSettingJson visualiserSettingJson = new VisualiserSettingJson(setting);
res.array.add(visualiserSettingJson);
}
return res;
}
}

View File

@@ -159,6 +159,8 @@ public class GlobalProperties {
return "Свернуть раздел сообщений файла";
case "collapseProjectTrees":
return "Свернуть раздел деревьев проекта";
case "AutoUpdateSearch":
return "Автоматический поиск обновлений";
default:
return "?";
}

View File

@@ -46,7 +46,7 @@ public class AddBugReport extends AddObjectPass<BugReport> {
target.project_version = "";
target.visualiser_version = ComponentsSet.visualiser.version;
target.sapfor_version = Global.components.get(ComponentType.Sapfor_F).version;
target.sapfor_settings = (Global.mainModule.getDb()).settings.getSapforSettingsText();
target.packedSettingsJson = Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
target.percentage = 0;
target.description = "Черновик отчёта об ошибке.\nЗаполните описание ошибочной ситуации, и нажмите 'Опубликовать'";
target.date = new Date().getTime();

View File

@@ -1,9 +1,12 @@
package _VisualDVM.Passes.All;
import Common.Passes.Pass;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingJson;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingsJson;
import java.util.LinkedHashMap;
public class ApplyBugReportSettings extends Pass<BugReport> {
@@ -35,6 +38,19 @@ public class ApplyBugReportSettings extends Pass<BugReport> {
}
@Override
protected void body() throws Exception {
LinkedHashMap<SettingName, String> to_apply = new LinkedHashMap<>();
VisualiserSettingsJson settings = Utils_.gson.fromJson(target.packedSettingsJson, VisualiserSettingsJson.class);
for (VisualiserSettingJson setting : settings.array) {
SettingName settingName = SettingName.Undefined;
try {
settingName = SettingName.valueOf(setting.name);
} catch (Exception ex) {
ex.printStackTrace();
}
if (!settingName.equals(SettingName.Undefined))
to_apply.put(settingName, setting.value);
}
/*
String[] lines = target.sapfor_settings.split("\n");
LinkedHashMap<SettingName, String> to_apply = new LinkedHashMap<>();
for (int i = 1; i < lines.length; ++i) {
@@ -43,6 +59,7 @@ public class ApplyBugReportSettings extends Pass<BugReport> {
if (!settingName.equals(SettingName.Undefined))
to_apply.put(settingName, settingValue);
}
*/
//сохранить текущие настройки как профиль
// Global.db.rewriteProfileByDescription("Saved Profile");
//--

View File

@@ -4,8 +4,11 @@ import Common.Database.Objects.rDBObject;
import Common.Utils.TextLog;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Repository.BugReport.Json.RecipientJson;
import _VisualDVM.Repository.BugReport.Json.RecipientsJson;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingJson;
import _VisualDVM.Repository.BugReport.Json.VisualiserSettingsJson;
import _VisualDVM.Repository.Component.ComponentType;
import _VisualDVM.Repository.Component.ComponentsSet;
import _VisualDVM.Repository.RepositoryServer;
@@ -13,19 +16,19 @@ import _VisualDVM.Repository.Subscribes.Subscriber;
import com.sun.org.glassfish.gmbal.Description;
import java.io.File;
import java.lang.reflect.Type;
import java.nio.file.Paths;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Vector;
public class BugReport extends rDBObject {
//todo все запакованные поля переделать в json.
public String project_version = "";
public long visualiser_version = -1;
public long sapfor_version = -1;
public String sapfor_settings = "";
public String comment = "";
@Description("DEFAULT ''")
public String packedRecipientsJson = "";
@Description("DEFAULT ''")
public String packedSettingsJson = "";
public String executor = "";
@Description("DEFAULT ''")
public String executor_address = "";
@@ -50,7 +53,7 @@ public class BugReport extends rDBObject {
project_version = version_in;
visualiser_version = ComponentsSet.visualiser.version;
sapfor_version = Global.components.get(ComponentType.Sapfor_F).version;
sapfor_settings = (Global.mainModule.getDb()).settings.getSapforSettingsText();
packedSettingsJson = Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
percentage = 0;
description = description_in;
date = new Date().getTime();
@@ -74,7 +77,7 @@ public class BugReport extends rDBObject {
project_version = b.project_version;
visualiser_version = b.visualiser_version;
sapfor_version = b.sapfor_version;
sapfor_settings = b.sapfor_settings;
packedSettingsJson = b.packedSettingsJson;
//-
descriptionAdditionDraft = b.descriptionAdditionDraft;
commentAdditionDraft = b.commentAdditionDraft;
@@ -127,8 +130,7 @@ public class BugReport extends rDBObject {
(Global.mainModule.HasAccount() ? (Global.mainModule.getAccount().isAdmin() ? ("Адрес отправителя: " + sender_address + "\n") : "") : "") +
"Версия SAPFOR: " + sapfor_version + "\n" +
"Версия визуализатора: " + visualiser_version + "\n" +
"----------------------------------\n" +
sapfor_settings;
"----------------------------------\n" + getSettingsJson().getSummary();
}
public String getPassport() {
return String.join("\n",
@@ -160,4 +162,46 @@ public class BugReport extends rDBObject {
}
return res;
}
public VisualiserSettingsJson getSettingsJson(){
return packedSettingsJson.isEmpty()? new VisualiserSettingsJson(): Utils_.gson.fromJson(packedSettingsJson,VisualiserSettingsJson.class);
}
/*
public void settingsPatch(){
// System.out.println(getPK());
// if (packedSettingsJson.isEmpty()) {
//System.out.println(sapfor_settings);
//--
VisualiserSettingsJson settings = new VisualiserSettingsJson();
String[] lines = sapfor_settings.split("\n");
for (int i = 1; i < lines.length; ++i) {
String line = lines[i];
if (!line.toLowerCase().contains("настройки")) {
line = line.replace(" :", "=").replace("True","1").replace("False","0").trim();
SettingName settingName = null;
try {
settingName = SettingName.valueOf(line.substring(0, line.indexOf('=')));
} catch (Exception ex) {
System.out.println(line);
}
if (settingName == null) {
try {
settingName = SettingName.getByDescription(line.substring(0, line.indexOf('=')));
} catch (Exception ex) {
System.out.println(line);
}
}
if (settingName != null) {
String settingValue = line.substring(line.indexOf('=') + 1);
if (!settingName.equals(SettingName.Undefined)) {
VisualiserSettingJson setting = new VisualiserSettingJson();
setting.name = settingName.toString();
setting.value = settingValue;
settings.array.add(setting);
}
}
}
}
packedSettingsJson = Utils_.gson.toJson(settings);
}
*/
}

View File

@@ -0,0 +1,15 @@
package _VisualDVM.Repository.BugReport.Json;
import _VisualDVM.GlobalData.Settings.DBSetting;
import com.google.gson.annotations.Expose;
public class VisualiserSettingJson {
@Expose
public String name;
@Expose
public String value;
public VisualiserSettingJson(){
}
public VisualiserSettingJson(DBSetting dbSetting){
name = dbSetting.Name.toString();
value = dbSetting.Value;
}
}

View File

@@ -0,0 +1,23 @@
package _VisualDVM.Repository.BugReport.Json;
import _VisualDVM.GlobalData.Settings.DBSetting;
import _VisualDVM.GlobalData.Settings.SettingName;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class VisualiserSettingsJson {
@Expose
public List<VisualiserSettingJson> array = new Vector<>();
public String getSummary(){
Vector<String> res=new Vector<>();
for (VisualiserSettingJson setting: array){
try {
res.add(SettingName.valueOf(setting.name).getDescription() + "=" + setting.value);
}
catch (Exception ex){
ex.printStackTrace();
}
}
return String.join("\n",res);
}
}

View File

@@ -61,7 +61,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override
public void GetVersionInfo() {
version = 1127;
version = 1129;
String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime());

View File

@@ -0,0 +1,17 @@
package _VisualDVM.Visual.Menus.MainMenuBar;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class SynchronizationSettingsMenu extends SettingsSubmenu {
public SynchronizationSettingsMenu() {
super("Синхронизация", null,
SettingName.AutoBugReportsLoad,
SettingName.AutoTestsLoad);
String[] propertiesNames = new String[]{
"AutoUpdateSearch",
};
for (String name : propertiesNames) {
Global.properties.addFlagMenuItem(this, name);
}
}
}

View File

@@ -13,7 +13,6 @@ public class CompactnessSettingsMenu extends SettingsSubmenu {
);
addSeparator();
String[] propertiesNames = new String[]{
// "collapseCredentials",
"collapseProjectTrees",
"collapseFileGraphs",
"collapseFileMessages"
@@ -21,6 +20,5 @@ public class CompactnessSettingsMenu extends SettingsSubmenu {
for (String name : propertiesNames) {
Global.properties.addFlagMenuItem(this, name);
}
;
}
}

View File

@@ -3,6 +3,7 @@ import Common.Utils.Utils_;
import Common.Visual.Menus.VisualiserMenu;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Visual.Menus.MainMenuBar.SynchronizationSettingsMenu;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class VisualiserSettingsMenu extends VisualiserMenu {
@@ -25,10 +26,7 @@ public class VisualiserSettingsMenu extends VisualiserMenu {
SettingName.Kernels
));
}
add(new SettingsSubmenu("Синхронизация", null,
SettingName.AutoBugReportsLoad,
SettingName.AutoTestsLoad
));
add(new SynchronizationSettingsMenu());
add(new SettingsSubmenu("Сравнение", null,
SettingName.ExtensionsOn,
SettingName.RegisterOn,

View File

@@ -518,13 +518,7 @@ public class CallbackForm implements FormWithSplitters, CallbackWindow {
BugReportComment.setText(target.comment);
BugReportComment.ShowBegin();
BugReportCommentAddition.setText(target.commentAdditionDraft);
BugReportSettings.setText(
String.join("\n",
("Версия SAPFOR: " + target.sapfor_version),
("Версия визуализатора: " + target.visualiser_version),
target.sapfor_settings
)
);
BugReportSettings.setText(target.getSettingsSummary());
Global.mainModule.setPassesControlsVisible(true, PassCode.ApplyBugReportSettings);
//
if (target.state.equals(BugReportState.draft)) {