2024-10-14 12:14:01 +03:00
|
|
|
|
package _VisualDVM.Passes.All;
|
2024-10-14 15:19:13 +03:00
|
|
|
|
import Common.Passes.Pass;
|
2024-10-09 22:01:19 +03:00
|
|
|
|
import _VisualDVM.Current;
|
2024-10-13 22:08:13 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2024-10-09 22:21:57 +03:00
|
|
|
|
import _VisualDVM.GlobalData.Settings.SettingName;
|
2024-10-14 12:14:01 +03:00
|
|
|
|
import _VisualDVM.Passes.PassCode;
|
2024-10-14 15:19:13 +03:00
|
|
|
|
import _VisualDVM.Repository.BugReport.BugReport;
|
2023-09-17 22:13:42 +03:00
|
|
|
|
|
|
|
|
|
|
import java.util.LinkedHashMap;
|
2024-10-09 23:37:58 +03:00
|
|
|
|
public class ApplyBugReportSettings extends Pass<BugReport> {
|
2023-09-17 22:13:42 +03:00
|
|
|
|
@Override
|
|
|
|
|
|
public String getIconPath() {
|
|
|
|
|
|
return "/icons/Apply.png";
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public String getButtonText() {
|
|
|
|
|
|
return "";
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public boolean needsConfirmations() {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected boolean canStart(Object... args) {
|
2024-10-13 22:08:13 +03:00
|
|
|
|
if (Global.mainModule.Check(Log, Current.BugReport)) {
|
|
|
|
|
|
target = Global.mainModule.getBugReport();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
long vv = target.visualiser_version;
|
|
|
|
|
|
if (vv < 500) {
|
|
|
|
|
|
Log.Writeln_("Автоматическое применение настроек поддерживается только в отчётах об ошибках,\n" +
|
|
|
|
|
|
"отправленных с версии визуализатора 500 и выше");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
|
String[] lines = target.sapfor_settings.split("\n");
|
|
|
|
|
|
LinkedHashMap<SettingName, String> 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);
|
|
|
|
|
|
}
|
|
|
|
|
|
//сохранить текущие настройки как профиль
|
2024-10-14 15:19:13 +03:00
|
|
|
|
// Global.db.rewriteProfileByDescription("Saved Profile");
|
2023-09-17 22:13:42 +03:00
|
|
|
|
//--
|
|
|
|
|
|
//само применение.
|
|
|
|
|
|
for (SettingName settingName : to_apply.keySet())
|
2024-10-13 23:55:03 +03:00
|
|
|
|
Global.mainModule.getPass(PassCode.UpdateSetting).Do(
|
2023-09-17 22:13:42 +03:00
|
|
|
|
settingName,
|
|
|
|
|
|
to_apply.get(settingName));
|
|
|
|
|
|
//сохранить настройки бага как профиль
|
2024-10-14 15:19:13 +03:00
|
|
|
|
// Global.db.rewriteProfileByDescription(target.id);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|