Files
VisualSapfor/src/Visual_DVM_2021/Passes/All/ApplyBugReportSettings.java

59 lines
2.3 KiB
Java
Raw Normal View History

package Visual_DVM_2021.Passes.All;
import Common.CurrentAnchestor;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
2023-09-17 22:13:42 +03:00
import GlobalData.Settings.SettingName;
import Repository.BugReport.BugReport;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
2023-09-17 22:13:42 +03:00
import java.util.LinkedHashMap;
public class ApplyBugReportSettings extends Pass_2021<BugReport> {
@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) {
if (CurrentAnchestor.Check(Log, Current.BugReport)) {
2023-09-17 22:13:42 +03:00
target = Current.getBugReport();
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);
}
//сохранить текущие настройки как профиль
// Global.db.rewriteProfileByDescription("Saved Profile");
//--
//само применение.
for (SettingName settingName : to_apply.keySet())
Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(
settingName,
to_apply.get(settingName));
//сохранить настройки бага как профиль
// Global.db.rewriteProfileByDescription(target.id);
}
}