package _VisualDVM.Passes.All; import Common.Passes.Pass; import Common.Utils.Utils_; import _VisualDVM.Global; 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 { @Override public String getIconPath() { return "/Common/icons/Apply.png"; } @Override public String getButtonText() { return ""; } @Override public boolean needsConfirmations() { return true; } @Override protected boolean canStart(Object... args) { if (Global.componentsServer.db.bugReports.getUI().CheckCurrent(Log)) { target = Global.componentsServer.db.bugReports.getUI().getCurrent(); long vv = target.visualiser_version; if (vv < 500) { Log.Writeln_("Автоматическое применение настроек поддерживается только в отчётах об ошибках,\n" + "отправленных с версии визуализатора 500 и выше"); return false; } return true; } return false; } @Override protected void body() throws Exception { /* LinkedHashMap 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 to_apply = new LinkedHashMap<>(); for (int i = 1; i < lines.length; ++i) { SettingName settingName = SettingName.getByDescription(lines[i].substring(4, lines[i].indexOf('='))); String settingValue = lines[i].substring(lines[i].indexOf('=') + 1); if (!settingName.equals(SettingName.Undefined)) to_apply.put(settingName, settingValue); } */ //сохранить текущие настройки как профиль // Global.db.rewriteProfileByDescription("Saved Profile"); //-- //само применение. /* for (SettingName settingName : to_apply.keySet()) Global.mainModule.getPass(PassCode.UpdateSetting).Do( settingName, to_apply.get(settingName)); */ //сохранить настройки бага как профиль // Global.db.rewriteProfileByDescription(target.id); } }