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

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

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