промежуточный. перенос настроек в проект. есть баги. завтра доделываю, версия не вполне рабочая

This commit is contained in:
2025-01-16 02:26:51 +03:00
parent 483089e954
commit 0f7b65f467
92 changed files with 511 additions and 648 deletions

View File

@@ -2,8 +2,6 @@ package _VisualDVM;
import Common.Utils.Loggable;
import Common.Utils.Utils_;
import Common.Visual.UI;
import _VisualDVM.GlobalData.Settings.DBSetting;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.ProjectView;
import _VisualDVM.Repository.Component.ComponentType;
@@ -146,9 +144,7 @@ public class Global {
}
System.exit(0);
}
public static void changeSetting(SettingName settingName, Object new_value) throws Exception {
Global.mainModule.getPass(PassCode.UpdateSetting).Do(settingName, new_value);
}
/*
public static String packSapforSettings() {
Vector<String> res_ = new Vector<>();
Vector<SettingName> forbidden = new Vector<>();
@@ -162,6 +158,7 @@ public class Global {
}
return String.join("|", res_);
}
*/
//--
public static void NormalMode(int port) throws Exception {
//-------------------------------->>

View File

@@ -22,15 +22,11 @@ import _VisualDVM.GlobalData.SapforProfile.SapforProfile;
import _VisualDVM.GlobalData.SapforProfile.SapforProfilesDBTable;
import _VisualDVM.GlobalData.SapforProfileSetting.SapforProfileSetting;
import _VisualDVM.GlobalData.SapforProfileSetting.SapforProfileSettingsDBTable;
import _VisualDVM.GlobalData.Settings.DBSetting;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.GlobalData.Settings.SettingsDBTable;
import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTasksDBTable;
import _VisualDVM.GlobalData.Tasks.RunTask.RunTasksDBTable;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.GlobalData.User.UsersDBTable;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Repository.Component.ComponentType;
import java.nio.file.Paths;
import java.util.Date;
@@ -49,7 +45,6 @@ public class GlobalDatabase extends VisualiserDatabase {
public DVMParameterDBTable dvmParameters;
public CredentialsDBTable credentials;
//----- ДАННЫЕ ВИЗУАЛИЗАТОРА---------------------------------
public SettingsDBTable settings;
public LastProjectsDBTable lastProjects;
public AccountsDBTable accounts;
//-
@@ -73,7 +68,6 @@ public class GlobalDatabase extends VisualiserDatabase {
addTable(runConfigurations = new RunConfigurationsDBTable());
addTable(environmentValues = new EnvironmentValuesDBTable());
addTable(credentials = new CredentialsDBTable());
addTable(settings = new SettingsDBTable());
addTable(lastProjects = new LastProjectsDBTable());
addTable(accounts = new AccountsDBTable());
addTable(dvmParameters = new DVMParameterDBTable());
@@ -91,7 +85,6 @@ public class GlobalDatabase extends VisualiserDatabase {
credentials.Data.isEmpty() ? Insert(new Credentials()) :
credentials.getFirstRecord());
//настройки компонент
settings.AddAll();
runConfigurations.Patch();
//---
MainModule_.instance.getUI().getFastAccessMenuBar().Refresh();
@@ -118,15 +111,19 @@ public class GlobalDatabase extends VisualiserDatabase {
}
}
//--
public LinkedHashMap<SettingName, String> getSapforSettingsForProfile() {
public LinkedHashMap<String, String> getSapforSettingsForProfile() {
/*
LinkedHashMap<SettingName, String> res = new LinkedHashMap<>();
for (DBSetting setting : settings.getSettingsByOwner(ComponentType.SapforOptions))
if (setting.Visible)
res.put(setting.Name, setting.Value);
return res;
*/
return null;
}
//проверить, есть ли профиль с таким же набором настроек.
public SapforProfile checkProfileForCurrentSettings() {
/*
LinkedHashMap<SettingName, String> current_values = getSapforSettingsForProfile();
for (SapforProfile profile : sapforProfiles.Data.values()) {
//--получить все настройки профиля
@@ -136,9 +133,11 @@ public class GlobalDatabase extends VisualiserDatabase {
//--
if (current_values.equals(profileValues)) return profile;
}
*/
return null;
}
public void insertProfileSettings(SapforProfile profile) throws Exception {
/*
LinkedHashMap<SettingName, String> current_values = getSapforSettingsForProfile();
for (SettingName name : current_values.keySet()) {
//--
@@ -149,6 +148,7 @@ public class GlobalDatabase extends VisualiserDatabase {
//--
Insert(sapforProfileSetting);
}
*/
}
public void saveCurrentProfile(String name_in) throws Exception {
if (checkProfileForCurrentSettings() == null) {

View File

@@ -1,11 +1,10 @@
package _VisualDVM.GlobalData.SapforProfileSetting;
import Common.CommonConstants;
import Common.Database.Objects.iDBObject;
import _VisualDVM.GlobalData.Settings.SettingName;
import com.sun.org.glassfish.gmbal.Description;
public class SapforProfileSetting extends iDBObject {
@Description("DEFAULT 'Undefined'")
public SettingName name = SettingName.Undefined;
public String name = "Undefined";
@Description("DEFAULT ''")
public String value = "";
@Description("DEFAULT -1")

View File

@@ -17,7 +17,7 @@ public class SapforProfileSettingsForm extends DataSetControlForm<SapforProfileS
new ColumnInfo<SapforProfileSetting>("имя") {
@Override
public Object getFieldAt(SapforProfileSetting object) {
return object.name.getDescription();
return "?"; // object.name.getDescription();
}
},
new ColumnInfo<SapforProfileSetting>("значение") {

View File

@@ -1,95 +0,0 @@
package _VisualDVM.GlobalData.Settings;
import Common.Database.Objects.DBObject;
import Common.Utils.Utils_;
import Common.Visual.Controls.StableMenuItem;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Repository.Component.ComponentType;
import com.sun.org.glassfish.gmbal.Description;
import javax.swing.*;
import java.awt.event.ActionEvent;
public class DBSetting extends DBObject {
@Description("PRIMARY KEY,UNIQUE")
public SettingName Name;
public String Value;
public ComponentType Owner;
@Description("IGNORE")
public boolean Visible = true;
@Description("IGNORE")
public SettingType settingType = SettingType.Undefined;
private JMenuItem menu_item = null;
public DBSetting() {
}
public DBSetting(SettingName Name_,
Object Value_,
SettingType type_in,
ComponentType owner_in,
boolean Visible_in) {
Name = Name_;
Value = Value_.toString();
settingType = type_in;
Owner = owner_in;
Visible = Visible_in;
}
public DBSetting(SettingName Name_, String Value_) {
Name = Name_;
Value = Value_;
}
public DBSetting(SettingName Name_,
Object Value_,
SettingType type_in,
ComponentType owner_in
) {
this(Name_, Value_, type_in, owner_in, true);
}
public JMenuItem getMenuItem() {
if (menu_item == null) {
menu_item = new StableMenuItem(Name.getDescription());
menu_item.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
Global.mainModule.getPass(PassCode.UpdateSetting).Do(Name);
}
});
Mark();
}
return menu_item;
}
/*
* булевского типа не надо. только 0 или 1
*/
//заводить разные типы настроек не надо.
//иначе придется ковыряться с типами и таблицами в бд
public void Mark() {
switch (settingType) {
case SapforFlag:
getMenuItem().setIcon(Utils_.getIcon(toBoolean() ? "/Common/icons/Pick.png" : "/Common/icons/NotPick.png"));
break;
case PercentField:
getMenuItem().setText(Name.getDescription() + " : " + this + "%");
break;
case StringField:
String valueToShow = Value.isEmpty() ? "не задано" : Utils_.Quotes(toString());
getMenuItem().setText(Name.getDescription() + " : " + valueToShow);
break;
case IntField:
getMenuItem().setText(Name.getDescription() + " : " + this);
break;
}
}
public int toInt32() {
return Integer.parseInt(Value);
}
public boolean toBoolean() {
return toInt32() != 0;
}
@Override
public String toString() {
return Value;
}
@Override
public Object getPK() {
return Name;
}
}

View File

@@ -1,83 +0,0 @@
package _VisualDVM.GlobalData.Settings;
public enum SettingName {
Undefined,
//--------------
Precompilation,
SaveModifications, // сохранять исходную версию
GCOVLimit,
DVMConvertationOptions,
//--
//<editor-fold desc="Настройки сапфора. должны быть подряд!">
STATIC_SHADOW_ANALYSIS,
STATIC_PRIVATE_ANALYSIS,
FREE_FORM,
KEEP_DVM_DIRECTIVES,
KEEP_SPF_DIRECTIVES,
PARALLELIZE_FREE_LOOPS,
MAX_SHADOW_WIDTH,
OUTPUT_UPPER,
TRANSLATE_MESSAGES,
KEEP_LOOPS_CLOSE_NESTING,
KEEP_GCOV,
ANALYSIS_OPTIONS,
DEBUG_PRINT_ON,
MPI_PROGRAM,
IGNORE_IO_SAPFOR,
KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS,
PARSE_FOR_INLINE,
EMPTY_OPTION;
public static SettingName getByDescription(String desc) {
SettingName[] all = SettingName.values();
for (SettingName settingName : all)
if (desc.equals(settingName.getDescription())) return settingName;
return Undefined;
}
public String getDescription() {
switch (this) {
case SaveModifications:
return "Сохранять копию исходной версии при преобразованиях";
case DVMConvertationOptions:
return "Опции DVM конвертации";
case GCOVLimit:
return "Нижний порог отображения GCOV";
case Precompilation:
return "Предварительная компиляция";
case STATIC_SHADOW_ANALYSIS:
return "Оптимизация теневых обменов";
case STATIC_PRIVATE_ANALYSIS:
return "Статический анализ приватностей";
case FREE_FORM:
return "Свободный выходной стиль";
case KEEP_DVM_DIRECTIVES:
return "Учитывать DVM директивы";
case KEEP_SPF_DIRECTIVES:
return "Сохранять SPF директивы при построении параллельных вариантов";
case PARALLELIZE_FREE_LOOPS:
return "Улучшенное распараллеливание";
case MAX_SHADOW_WIDTH:
return "Максимальный размер теневых граней";
case OUTPUT_UPPER:
return "Верхний выходной регистр";
case TRANSLATE_MESSAGES:
return "Сообщения на русском языке";
case KEEP_LOOPS_CLOSE_NESTING:
return "Учитывать тесную вложенность циклов";
case KEEP_GCOV:
return "Учитывать GCOV";
case ANALYSIS_OPTIONS:
return "Опции анализа";
case DEBUG_PRINT_ON:
return "Включить отладочную печать";
case MPI_PROGRAM:
return "Общая память";
case IGNORE_IO_SAPFOR:
return "Игнорировать ввод/вывод";
case KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS:
return "Сохранять SPF директивы при преобразованиях";
case PARSE_FOR_INLINE:
return "Синтаксический анализ для подстановки";
}
return "";
}
}
//</editor-fold>

View File

@@ -1,8 +0,0 @@
package _VisualDVM.GlobalData.Settings;
public enum SettingType {
Undefined,
SapforFlag,
PercentField,
StringField,
IntField
}

View File

@@ -1,78 +0,0 @@
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;
import java.util.Vector;
import java.util.stream.Collectors;
public class SettingsDBTable extends DBTable<SettingName, DBSetting> {
public SettingsDBTable() {
super(SettingName.class, DBSetting.class);
}
public void AddSetting(DBSetting s) throws Exception {
if (containsKey(s.Name)) {
DBSetting old = get(s.Name);
old.settingType = s.settingType;
old.Visible = s.Visible;
//патч на всегда включить.
if (s.Name.equals(SettingName.STATIC_PRIVATE_ANALYSIS) && !old.Value.equals("1")) {
old.Value = "1";
getDb().Update(s);
}
//---------------------------------------->>
} else
this.getDb().Insert(s);
}
//todo все загнать в Properties
public void AddAll() throws Exception {
//проверка списка всех настроек.
//<editor-fold desc="Global">
//</editor-fold>
//--
//<editor-fold desc="Sapfor">
//при добавлении новых. учесть SapforTasksPackage (добавить поле)
//и Global.packSapforSettings (добавить запаковку поля в конец)
AddSetting(new DBSetting(SettingName.STATIC_SHADOW_ANALYSIS, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.STATIC_PRIVATE_ANALYSIS, 1, SettingType.SapforFlag, ComponentType.SapforOptions, false));
AddSetting(new DBSetting(SettingName.FREE_FORM, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.KEEP_DVM_DIRECTIVES, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.KEEP_SPF_DIRECTIVES, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.PARALLELIZE_FREE_LOOPS, 0, SettingType.SapforFlag, ComponentType.SapforOptions, false));
AddSetting(new DBSetting(SettingName.MAX_SHADOW_WIDTH, 50, SettingType.PercentField, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.OUTPUT_UPPER, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.TRANSLATE_MESSAGES, 1, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.KEEP_LOOPS_CLOSE_NESTING, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.KEEP_GCOV, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.ANALYSIS_OPTIONS, " ", SettingType.StringField, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.DEBUG_PRINT_ON, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.MPI_PROGRAM, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.IGNORE_IO_SAPFOR, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS, 1, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.PARSE_FOR_INLINE, 0, SettingType.SapforFlag, ComponentType.SapforOptions, false));
//--> косвенные, анализам не передаются.
AddSetting(new DBSetting(SettingName.Precompilation, 0, SettingType.SapforFlag, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.GCOVLimit, 10, SettingType.PercentField, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.DVMConvertationOptions, " ", SettingType.StringField, ComponentType.SapforOptions));
AddSetting(new DBSetting(SettingName.SaveModifications, 1, SettingType.SapforFlag, ComponentType.SapforOptions));
//</editor-fold>
}
public Vector<DBSetting> getSettingsByOwner(ComponentType owner) {
return Data.values().stream().filter(setting -> setting.Owner.equals(owner)).collect(Collectors.toCollection(Vector::new));
}
public String getSapforSettingsText() {
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

@@ -1,6 +1,5 @@
package _VisualDVM.GlobalData.Tasks.Supervisor.Local.Linux;
import Common.CommonConstants;
import Common.Passes.PassException;
import Common.Utils.Utils_;
import _VisualDVM.Constants;
import _VisualDVM.GlobalData.Tasks.Supervisor.Local.LocalTaskSupervisor;

View File

@@ -2,7 +2,6 @@ package _VisualDVM.GlobalData.Tasks.Supervisor.Local.Windows;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Makefile.Makefile;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.GlobalData.Tasks.CompilationTask.CompilationTask;
import _VisualDVM.GlobalData.Tasks.TaskState;
import org.apache.commons.io.FileUtils;

View File

@@ -1,6 +1,5 @@
package _VisualDVM.GlobalData.Tasks.Supervisor;
import Common.Passes.Pass;
import Common.Passes.PassException;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Tasks.Task;

View File

@@ -1,20 +1,11 @@
package _VisualDVM;
import Common.CommonConstants;
import Common.Properties;
import Common.Utils.Utils_;
import Common.Visual.Controls.StableMenuItem;
import Common.Visual.Windows.Dialog.SliderNumberForm;
import _VisualDVM.Passes.PassCode;
import com.google.gson.annotations.Expose;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.lang.reflect.Field;
import java.nio.file.Paths;
import java.util.LinkedHashMap;
import java.util.Locale;
public class GlobalProperties extends Properties {
@Expose
public _VisualDVM.Mode Mode = _VisualDVM.Mode.Normal; //todo унаследовать от предка.
@@ -208,7 +199,6 @@ public class GlobalProperties extends Properties {
public GlobalProperties(){
}
//-----------------
@Override
public String getFieldDescription(String fieldName) {
switch (fieldName) {
@@ -266,25 +256,8 @@ public class GlobalProperties extends Properties {
return "?";
}
}
//-----------------
//обобщить для наследования.возможно переделать проход.
@Override
public JMenuItem getMenuItem(String fieldName){
final JMenuItem menuItem;
if (controls.containsKey(fieldName))
menuItem = controls.get(fieldName);
else {
menuItem = new StableMenuItem();
Mark(fieldName,menuItem);
menuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (Global.mainModule.getPass(PassCode.UpdateProperty).Do(fieldName))
Mark(fieldName, menuItem);
}
});
controls.put(fieldName,menuItem);
}
return menuItem;
public boolean controlAction(String fieldName, JMenuItem control) {
return (Global.mainModule.getPass(PassCode.UpdateProperty).Do(fieldName));
}
}

View File

@@ -4,7 +4,6 @@ import Common.Utils.Vector_;
import _VisualDVM.GlobalData.Account.Account;
import _VisualDVM.GlobalData.GlobalDatabase;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Project.db_project_info;

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.packedSettingsJson = Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
target.packedSettingsJson = "";// Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
target.percentage = 0;
target.description = "Черновик отчёта об ошибке.\nЗаполните описание ошибочной ситуации, и нажмите 'Опубликовать'";
target.date = new Date().getTime();

View File

@@ -2,7 +2,6 @@ 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;
@@ -38,6 +37,7 @@ 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) {
@@ -50,6 +50,7 @@ public class ApplyBugReportSettings extends Pass<BugReport> {
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<>();
@@ -64,10 +65,12 @@ public class ApplyBugReportSettings extends Pass<BugReport> {
// 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);
}

View File

@@ -35,9 +35,11 @@ public class ApplyProfile extends Pass<SapforProfile> {
if (sapforProfileSetting.sapforprofile_id == target.id)
settings.add(sapforProfileSetting);
//--
/*
for (SapforProfileSetting setting : settings)
if (Global.mainModule.getDb().settings.containsKey(setting.name))
Global.mainModule.getPass(PassCode.UpdateSetting).Do(setting.name, setting.value);
//--
*/
}
}

View File

@@ -1,6 +1,5 @@
package _VisualDVM.Passes.All;
import Common.Passes.Pass;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
public class CheckAccount extends Pass<Boolean> {

View File

@@ -3,7 +3,6 @@ import Common.Utils.Utils_;
import Common.Visual.Windows.Dialog.VDirectoryChooser;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Utils;

View File

@@ -3,7 +3,6 @@ import Common.Utils.Utils_;
import Common.Visual.Windows.Dialog.VFileChooser;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.Utils;

View File

@@ -5,7 +5,6 @@ import Common.Utils.Utils_;
import Common.Visual.Windows.Dialog.VDirectoryChooser;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.ProjectFile;
import _VisualDVM.ProjectData.LanguageName;

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Passes.All;
import Common.Visual.Windows.Dialog.VFileChooser;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Utils;

View File

@@ -4,7 +4,6 @@ import Common.Visual.Controls.PassMenuItem;
import Common.Visual.UI;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.ComponentsRepositoryPass;
import _VisualDVM.ProjectData.Files.DBProjectFile;
@@ -97,7 +96,7 @@ public class DVMConvertProject extends ComponentsRepositoryPass<db_project_info>
Vector<String> unit_args = new Vector<>();
unit_args.add(target.name);
unit_args.add(target.languageName.toString());
unit_args.add((Global.mainModule.getDb()).settings.get(SettingName.DVMConvertationOptions).toString());
unit_args.add(target.sapforProperties.DVMConvertationOptions);
unit_args.addAll(programsNames);
unit.arg = String.join("\n", unit_args);
Command(unit);

View File

@@ -6,7 +6,6 @@ import _VisualDVM.Global;
import _VisualDVM.GlobalData.FileObject.DirInfo;
import _VisualDVM.GlobalData.FileObject.DirInfosDataSet;
import _VisualDVM.GlobalData.FileObject.UI.DirInfosFields;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;

View File

@@ -3,7 +3,6 @@ import _VisualDVM.Global;
import _VisualDVM.Passes.Server.EditServerObject;
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
public class EditSapforConfiguration extends EditServerObject<TestingServer, SapforConfiguration> {
public EditSapforConfiguration() {
super(Global.testingServer, SapforConfiguration.class);

View File

@@ -3,7 +3,6 @@ import Common.Passes.Pass;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.FileObject.DirInfo;
import _VisualDVM.GlobalData.FileObject.DirInfosDataSet;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Repository.Component.ComponentsSet;
import _VisualDVM.Utils;

View File

@@ -6,7 +6,6 @@ import _VisualDVM.Constants;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.DBLastProject.DBLastProject;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.LanguageStyle;
import _VisualDVM.ProjectData.Project.db_project_info;
@@ -108,9 +107,7 @@ public class OpenCurrentProject extends Pass<db_project_info> {
if (root_changes)
Global.mainModule.set(Current.Root, new_root);
Global.mainModule.getPass(PassCode.UpdateProperty).Do("ProjectsSearchDirectory", dir.getParent());
Global.mainModule.getPass(PassCode.UpdateSetting).Do(
SettingName.FREE_FORM, target.style.equals(LanguageStyle.free) ? "1" : "0")
;
target.sapforProperties.FREE_FORM = target.style.equals(LanguageStyle.free);
DBLastProject lastProject;
if ((Global.mainModule.getDb()).lastProjects.containsKey(target.Home.getAbsolutePath())) {
lastProject = Global.mainModule.getDb().lastProjects.get(target.Home.getAbsolutePath());

View File

@@ -10,7 +10,6 @@ import _VisualDVM.GlobalData.Compiler.Compiler;
import _VisualDVM.GlobalData.Compiler.CompilerType;
import _VisualDVM.GlobalData.Makefile.Makefile;
import _VisualDVM.GlobalData.Module.Module;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.LanguageName;
@@ -99,14 +98,14 @@ public class Precompilation extends Pass<db_project_info> {
Log.Writeln_("Не задан путь к make.exe.\n " +
"Укажите его в меню глобальных настроек." +
"\редварительная компиляция будет отключена.");
Global.mainModule.getPass(PassCode.UpdateSetting).Do(SettingName.Precompilation, "0");
Global.mainModule.getPass(PassCode.UpdateSapforProperty).Do("Precompilation", false);
return false;
}
if (!(new File(makepath).exists())) {
Log.Writeln_("Файла по пути к make.exe не существует.\n" +
"Проверьте правильность его указания в глобальных настройках." +
"\редварительная компиляция будет отключена.");
Global.mainModule.getPass(PassCode.UpdateSetting).Do(SettingName.Precompilation, "0");
Global.mainModule.getPass(PassCode.UpdateSapforProperty).Do("Precompilation", false);
return false;
}
//--

View File

@@ -5,7 +5,6 @@ import Common.Visual.UI;
import Common.Visual.Windows.Dialog.VFileChooser;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Server.TestingSystemPass;
import _VisualDVM.Repository.Server.ServerCode;

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Passes.All;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
public class SPF_GetArrayDistribution extends SPF_GetArrayDistributionOnlyAnalysis {
@@ -28,7 +27,7 @@ public class SPF_GetArrayDistribution extends SPF_GetArrayDistributionOnlyAnalys
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Global.mainModule.getDb().settings.get(SettingName.MPI_PROGRAM).toBoolean()) {
if (Global.mainModule.getProject().sapforProperties.MPI_PROGRAM) {
UI.Info("Включена настройка SAPFOR 'MPI программа'." +
"\остроение распределения данных невозможно.");
Global.mainModule.getPass(PassCode.SPF_SharedMemoryParallelization).Do();

View File

@@ -3,7 +3,6 @@ import Common.Utils.Index;
import Common.Utils.Vector_;
import Common.Visual.Controls.PassControl;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
@@ -69,8 +68,7 @@ public class SPF_GetArrayDistributionOnlyAnalysis extends SapforAnalysis {
}
@Override
public String getDescription() {
return Global.mainModule.getDb().settings.get(SettingName.MPI_PROGRAM).toBoolean() ?
"Анализ кода (общая память)" : "Анализ кода";
return "Анализ кода";
}
public void RefreshControls() {
for (PassControl control : controls)

View File

@@ -8,7 +8,7 @@ public class SPF_GetArrayLinks extends SilentSapforPass {
sapfor.RunAnalysis(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath());
}
protected void unpack(String packed) throws Exception {

View File

@@ -41,7 +41,7 @@ public class SPF_GetGCovInfo extends SilentSapforPass {
sapfor.RunAnalysis(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath());
}
@Override

View File

@@ -262,7 +262,7 @@ public class SPF_GetGraphFunctionPositions extends SilentSapforPass {
sapfor.RunAnalysis(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings() +
target.sapforProperties.pack() +
packFgSettings(),
target.getProjFile().getAbsolutePath());
}

View File

@@ -24,7 +24,7 @@ public class SPF_GetMaxMinBlockDistribution extends SilentSapforPass {
sapfor.RunAnalysis(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath());
}
@Override

View File

@@ -1,6 +1,5 @@
package _VisualDVM.Passes.All;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforFilesModification;
import _VisualDVM.ProjectData.SapforData.Functions.FuncCall;
@@ -16,8 +15,8 @@ public class SPF_InlineProcedure extends SapforFilesModification {
if (super.canStart(args) && (call = (args.length > 0) ? (FuncCall) args[0] : null) != null) {
addOpt1 = call.funcName + "|" + Global.mainModule.getFile().name;
addOpt2 = String.valueOf(call.parent_offset);
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "1");
// Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.PARSE_FOR_INLINE, "1");
target.sapforProperties.PARSE_FOR_INLINE=true;
target.sapforProperties.Update();
SPF_ParseFilesWithOrder.silent = true;
return Global.mainModule.getPass(PassCode.SPF_ParseFilesWithOrder).Do();
}

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforTransformation;
import _VisualDVM.ProjectData.SapforData.Functions.FuncCall;
@@ -42,7 +41,8 @@ public class SPF_InlineProcedures extends SapforTransformation {
return false;
}
Options = Utils_.toU(String.join("|", Result));
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "1");
target.sapforProperties.PARSE_FOR_INLINE=true;
target.sapforProperties.Update();
SPF_ParseFilesWithOrder.silent = true;
return Global.mainModule.getPass(PassCode.SPF_ParseFilesWithOrder).Do(false);
}

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforTransformation;
import _VisualDVM.ProjectData.SapforData.Functions.FuncCallH;
@@ -72,7 +71,8 @@ public class SPF_InlineProceduresH extends SapforTransformation {
}
}
Options = Utils_.toU(String.join("|", Result));
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "1");
target.sapforProperties.PARSE_FOR_INLINE=true;
target.sapforProperties.Update();
SPF_ParseFilesWithOrder.silent = true;
return Global.mainModule.getPass(PassCode.SPF_ParseFilesWithOrder).Do();
}

View File

@@ -2,7 +2,6 @@ package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
import _VisualDVM.ProjectData.Files.DBProjectFile;
@@ -43,7 +42,7 @@ public class SPF_ParseFilesWithOrder extends SapforAnalysis {
precompilation_done = false;
boolean res = (
silent ||
(!Global.mainModule.getDb().settings.get(SettingName.Precompilation).toBoolean() ||
(!Global.mainModule.getProject().sapforProperties.Precompilation ||
(precompilation_done = Global.mainModule.getPass(PassCode.Precompilation).Do())))
&& super.canStart(args) && checkActiveFiles();
return res;
@@ -173,8 +172,8 @@ public class SPF_ParseFilesWithOrder extends SapforAnalysis {
*/
@Override
protected void performFinish() throws Exception {
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "0");
// Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.PARSE_FOR_INLINE, "0");
target.sapforProperties.PARSE_FOR_INLINE=false;
target.sapforProperties.Update();
super.performFinish();
}
@Override

View File

@@ -22,7 +22,7 @@ public class SPF_PredictParallelVariant extends SilentSapforPass {
sapfor.RunTransformation(
"SPF_CreateParallelVariant",
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath(),
"",
Options

View File

@@ -21,7 +21,7 @@ public class SPF_StatisticAnalyzer extends SilentSapforPass {
sapfor.RunAnalysis(
getName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
Utils_.DQuotes(task.getLocalStsFile().getAbsolutePath()) +
" "
+ Utils_.DQuotes(target.getStsFile().getAbsolutePath()));

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReport.Json.RecipientsJson;
public class SaveBugReportRecipients extends UpdateBugReportField {
@Override

View File

@@ -7,7 +7,6 @@ import Common.Visual.Windows.Dialog.VDirectoryChooser;
import Common.Visual.Windows.Dialog.VFileChooser;
import _VisualDVM.Global;
import _VisualDVM.GlobalProperties;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Utils;
import javax.swing.*;

View File

@@ -0,0 +1,77 @@
package _VisualDVM.Passes.All;
import Common.Passes.Pass;
import Common.Visual.Windows.Dialog.PercentsForm;
import Common.Visual.Windows.Dialog.Text.TextFieldDialog;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.SapforData.SapforProperties;
import java.lang.reflect.Field;
public class UpdateSapforProperty extends Pass<Object> {
SapforProperties properties = null;
String name = "";
Field field = null;
Object oldValue = null;
Object newValue = null;
@Override
protected boolean canStart(Object... args) throws Exception {
properties = Global.mainModule.getProject().sapforProperties;
//---
name = (String) args[0];
String description = properties.getFieldDescription(name);
field = SapforProperties.class.getField(name);
oldValue = field.get(properties);
newValue = null;
//-
if (args.length == 1) {
if (oldValue instanceof Boolean) {
newValue = !(Boolean) oldValue;
return true;
} else {
switch (name) {
case "GCOVLimit":
case "MAX_SHADOW_WIDTH":
PercentsForm percentsForm = new PercentsForm();
if (percentsForm.ShowDialog(description, oldValue))
newValue = percentsForm.Result;
break;
case "DVMConvertationOptions": case "ANALYSIS_OPTIONS":
TextFieldDialog textFieldDialog = new TextFieldDialog();
if (textFieldDialog.ShowDialog(description, oldValue)) {
newValue = textFieldDialog.Result;
if (newValue.toString().isEmpty())
newValue = " ";
}
break;
default:
break;
}
}
} else
newValue = args[1];
//--
return newValue != null && !newValue.equals(oldValue);
}
@Override
protected void body() throws Exception {
field.set(properties, newValue);
properties.Update();
}
@Override
protected void showDone() throws Exception {
switch (name) {
case "GCOVLimit":
if (Global.mainModule.HasFile())
Global.mainModule.getFile().form.ShowGCOV();
break;
case "MPI_PROGRAM":
Global.mainModule.getPass(PassCode.CleanAnalyses).Do();
((SPF_GetArrayDistributionOnlyAnalysis)
Global.mainModule.getPass(PassCode.SPF_GetArrayDistributionOnlyAnalysis)).RefreshControls();
break;
case "Precompilation":
Global.mainModule.getSapfor().ResetAllAnalyses();
break;
}
}
}

View File

@@ -1,77 +0,0 @@
package _VisualDVM.Passes.All;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Visual.Windows.Dialog.*;
import Common.Visual.Windows.Dialog.Text.TextFieldDialog;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.DBSetting;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Utils;
import javax.swing.*;
import java.io.File;
public class UpdateSetting extends Pass<DBSetting> {
String NewValue;
VDirectoryChooser directoryChooser = new VDirectoryChooser("");
VFileChooser fileChooser = new VFileChooser("", "exe");
@Override
protected boolean canStart(Object... args) throws Exception {
target = (Global.mainModule.getDb()).settings.get(args[0]);
NewValue = target.Value;
if (args.length == 1) {
//интерфейсный режим. получение по клику на пункт меню.
switch (target.settingType) {
case SapforFlag:
NewValue = target.toBoolean() ? "0" : "1";
break;
case PercentField:
PercentsForm f = new PercentsForm();
if (f.ShowDialog(target.Name.getDescription(), target.toInt32()))
NewValue = String.valueOf(f.Result);
break;
case StringField:
switch (target.Name) {
default:
TextFieldDialog ff = new TextFieldDialog();
if (ff.ShowDialog(target.Name.getDescription(), target.Value)) {
NewValue = ff.Result;
if (NewValue.length() == 0)
NewValue = " ";
}
break;
}
break;
}
} else {
NewValue = args[1].toString();
}
//программный, тихий режим.}
return !NewValue.equals(target.Value);
}
@Override
protected void body() throws Exception {
target.Value = NewValue;
Global.mainModule.getDb().Update(target);
}
@Override
protected void showDone() throws Exception {
if (target.Visible) {
target.Mark();
switch (target.Name) {
case GCOVLimit:
if (Global.mainModule.HasFile())
Global.mainModule.getFile().form.ShowGCOV();
break;
case MPI_PROGRAM:
Global.mainModule.getPass(PassCode.CleanAnalyses).Do();
((SPF_GetArrayDistributionOnlyAnalysis)
Global.mainModule.getPass(PassCode.SPF_GetArrayDistributionOnlyAnalysis)).RefreshControls();
break;
case Precompilation:
Global.mainModule.getSapfor().ResetAllAnalyses();
break;
}
}
}
}

View File

@@ -3,6 +3,7 @@ import Common.Passes.PassCode_;
public enum PassCode implements PassCode_ {
//-
UpdateProperty,
UpdateSapforProperty,
ShowAllParallelVariants,
ShowParallelVariantsCoverage,
//-
@@ -26,7 +27,6 @@ public enum PassCode implements PassCode_ {
//----
DropFastAccess,
DropLastProjects,
UpdateSetting,
//-
OpenCurrentProject,
CloseCurrentProject,
@@ -356,6 +356,8 @@ public enum PassCode implements PassCode_ {
@Override
public String getDescription() {
switch (this) {
case UpdateSapforProperty:
return "Изменить настройку SAPFOR";
case Email:
return "Рассылка по email";
case SPF_RemoveDistArraysFromIO:
@@ -601,8 +603,6 @@ public enum PassCode implements PassCode_ {
return "Сброс панели быстрого доступа";
case DropLastProjects:
return "Сброс списка последних открытых проектов";
case UpdateSetting:
return "Обновить настройку";
case OpenCurrentProject:
return "Открытие проекта";
case CloseCurrentProject:

View File

@@ -3,7 +3,6 @@ import Common.Passes.Pass;
import Common.Utils.Utils_;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.SAPFOR.Json.SapforVersion_json;
import _VisualDVM.TestingSystem.SAPFOR.SapforTask.SapforTask;

View File

@@ -63,7 +63,7 @@ public class SapforAnalysis extends SapforPass {
sapfor.RunAnalysis(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath());
}
protected void unpack(String packed) throws Exception {

View File

@@ -1,6 +1,5 @@
package _VisualDVM.Passes.Sapfor;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
public class SapforFilesModification extends SapforModification {
@Override
@@ -10,7 +9,7 @@ public class SapforFilesModification extends SapforModification {
@Override
protected void performPreparation() throws Exception {
super.performPreparation();
if ((Global.mainModule.getDb()).settings.get(SettingName.SaveModifications).toBoolean()) {
if (target.sapforProperties.SaveModifications) {
Global.mainModule.getProject().createModification();
}
}

View File

@@ -12,7 +12,7 @@ public class SapforModification extends SapforPass {
sapfor.RunModification(
getSapforPassName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath(),
"",
addOpt1,

View File

@@ -48,7 +48,7 @@ public class SapforTransformation extends SapforPass {
sapfor.RunTransformation(
getName(),
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
target.sapforProperties.pack(),
target.getProjFile().getAbsolutePath(),
target.last_version.Home.getAbsolutePath(),
Options

View File

@@ -415,7 +415,9 @@ public class DBProjectFile extends ProjectFile {
break;
}
languageName = parent.languageName;
if (sapforStyle) style = Global.mainModule.getSapfor().getStyle();
if (sapforStyle) style = father.sapforProperties.FREE_FORM? LanguageStyle.free : LanguageStyle.fixed;
// Global.mainModule.getSapfor().getStyle();
else style = parent.style;
}
public void importSourceCodeSettings(DBProjectFile parent, boolean sapforStyle) throws Exception {
@@ -429,7 +431,8 @@ public class DBProjectFile extends ProjectFile {
break;
}
languageName = parent.languageName;
if (sapforStyle) style = Global.mainModule.getSapfor().getStyle();
// if (sapforStyle) style = Global.mainModule.getSapfor().getStyle();
if (sapforStyle) style = father.sapforProperties.FREE_FORM? LanguageStyle.free : LanguageStyle.fixed;
else style = parent.style;
}
//------------------

View File

@@ -2,7 +2,6 @@ package _VisualDVM.ProjectData.Files.UI.Editor;
import Common.Utils.Utils_;
import Common.Visual.Menus.StyledPopupMenu;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Files.FileState;
@@ -169,7 +168,7 @@ public class SPFEditor extends BaseEditor implements SPFEditorInterface {
Pair<Long, Integer> p = file.gcov_info.line_info.get(lineNum);
Color color = never;
if (p.getKey() > 0) {
color = (p.getValue() >= (Global.mainModule.getDb()).settings.get(SettingName.GCOVLimit).toInt32()) ?
color = (p.getValue() >= Global.mainModule.getProject().sapforProperties.GCOVLimit) ?
new Color(255, 255, (100 - p.getValue()), 90) : null;
}
if (color != null) {

View File

@@ -3,7 +3,6 @@ import Common.Passes.PassException;
import Common.Utils.Utils_;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Mode;
import _VisualDVM.ProjectData.SapforData.FileObject;
@@ -27,7 +26,7 @@ public class Message extends FileObject {
(Global.mode != Mode.Normal)) {
value = value_in;
} else {
value = !(Global.mainModule.getDb()).settings.get(SettingName.TRANSLATE_MESSAGES).toBoolean() ? value_in : decodeRussianMessage(value_in);
value = !Global.mainModule.getProject().sapforProperties.TRANSLATE_MESSAGES ? value_in : decodeRussianMessage(value_in);
}
}
// last code - 183

View File

@@ -1,7 +1,6 @@
package _VisualDVM.ProjectData.Messages.Recommendations;
import Common.Database.Objects.iDBObject;
import Common.Utils.Utils_;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import com.sun.org.glassfish.gmbal.Description;
public class MessageRecommendation extends iDBObject {
@@ -21,16 +20,16 @@ public class MessageRecommendation extends iDBObject {
argName = passCode_in.toString();
text = "Выполните преобразование " + Utils_.Quotes(passCode_in.getDescription());
}
public MessageRecommendation(SettingName settingName_in, String settingValue_in) {
public MessageRecommendation(String settingDescription_in, String settingValue_in) {
type = RecommendationType.Setting;
argName = settingName_in.toString();
argName = settingDescription_in.toString();
argValue = settingValue_in;
if (argValue.equals("1"))
text = "Включите настройку SAPFOR " + Utils_.Quotes(settingName_in.getDescription());
text = "Включите настройку SAPFOR " + Utils_.Quotes(settingDescription_in);
else if (argValue.equals("0"))
text = "Отключите настройку SAPFOR " + Utils_.Quotes(settingName_in.getDescription());
text = "Отключите настройку SAPFOR " + Utils_.Quotes(settingDescription_in);
else
text = "Задайте значение " + Utils_.DQuotes(argValue) + " для настройки SAPFOR " + Utils_.Quotes(settingName_in.getDescription());
text = "Задайте значение " + Utils_.DQuotes(argValue) + " для настройки SAPFOR " + Utils_.Quotes(settingDescription_in);
}
public MessageRecommendation(String text_in) {
type = RecommendationType.Text;

View File

@@ -1,7 +1,6 @@
package _VisualDVM.ProjectData.Messages.Recommendations;
import Common.Database.Tables.iDBTable;
import Common.Visual.DataSetControlForm;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Messages.Recommendations.UI.RecommendationsForm;
@@ -32,7 +31,7 @@ public class RecommendationsDBTable extends iDBTable<MessageRecommendation> {
result = new MessageRecommendation(PassCode.SPF_LoopEndDoConverterPass);
break;
case 1020:
result = new MessageRecommendation(SettingName.KEEP_DVM_DIRECTIVES, "1");
result = new MessageRecommendation("Учитывать DVM директивы", "1");
break;
case 1027:
case 1060:

View File

@@ -1,10 +0,0 @@
package _VisualDVM.ProjectData.Project;
import Common.Passes.Pass;
import _VisualDVM.GlobalData.Settings.DBSetting;
public class ChangeSettingPass extends Pass<DBSetting> {
@Override
protected boolean canStart(Object... args) throws Exception {
target = (DBSetting) args[0];
return true;
}
}

View File

@@ -11,7 +11,6 @@ import _VisualDVM.Constants;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.DBLastProject.DBLastProject;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.DBArray.DBArray;
import _VisualDVM.ProjectData.Files.DBProjectFile;
@@ -33,6 +32,7 @@ import _VisualDVM.ProjectData.SapforData.Functions.UI.Graph.GraphInfo;
import _VisualDVM.ProjectData.SapforData.Includes.FileInfo;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegionsSet;
import _VisualDVM.ProjectData.SapforData.SapforProperties;
import _VisualDVM.ProjectData.SapforData.Variants.ParallelVariant;
import _VisualDVM.ProjectData.SapforData.Variants.ParallelVariantsSet;
import _VisualDVM.TestingSystem.Common.Test.ProjectFiles_json;
@@ -145,23 +145,14 @@ public class db_project_info extends DBObject {
public ProjectDatabase db = null;
public LinkedHashMap<String, DBProjectFile> allIncludes = new LinkedHashMap<>();
DBLastProject info = null; //обновляется при открытии проекта.
public SapforProperties sapforProperties=null;
public void SynchronizeSapforProperties() {
System.out.println("Syncronize Sapfor Properties...");
sapforProperties = Utils_.SynschronizeProperties(new File(getDataDirectory(), "properties"), SapforProperties.class);
}
public db_project_info() {
}
//----------------------------------
// в случае восстановления после полной очистки
//восстановление при полной очистке.
public db_project_info(db_project_info to_restore) throws Exception {
Home = to_restore.Home;
name = to_restore.name;
description = to_restore.description;
original = to_restore.original;
fgIterations = to_restore.fgIterations;
fgResistance = to_restore.fgResistance;
fgScreen = to_restore.fgScreen;
creationDate = to_restore.creationDate;
//-
CreateVisualiserData();
}
//конструктор для пустой версии (cо структурой папок)
public db_project_info(db_project_info parent_in,
String letter_in,
@@ -170,7 +161,10 @@ public class db_project_info extends DBObject {
parent = parent_in;
name = parent.GenerateVersionName(letter_in);
languageName = parent.languageName;
style = ((Global.mainModule.getDb()).settings.get(SettingName.FREE_FORM).toBoolean() ? LanguageStyle.free : LanguageStyle.fixed);
// style = ((Global.mainModule.getDb()).settings.get(SettingName.FREE_FORM).toBoolean() ? LanguageStyle.free : LanguageStyle.fixed);
style = (parent_in.sapforProperties.FREE_FORM ? LanguageStyle.free : LanguageStyle.fixed);
description = description_in;
original = original_in;
Home = Paths.get(parent_in.Home.getAbsolutePath(), name).toFile();
@@ -181,18 +175,11 @@ public class db_project_info extends DBObject {
parent.AddVersion(this);
//если это делать раньше, папка версии учтется как подпапка.
parent.CopySubdirectories(Home);
//-- наследование настроек от предка.
this.sapforProperties=new SapforProperties(parent.sapforProperties);
SynchronizeSapforProperties();
}
//------------------------------
//если бд не существует. только для конверсии тестов на корректность.
public db_project_info(File Directory, String description_, boolean create_data) throws Exception {
Home = Directory;
name = Home.getName();
description = description_;
if (create_data) {
creationDate = Utils_.getDateNumber(); //----------------------------------------------------------------------------->>>
CreateVisualiserData();
}
}
//обычное открытие.
public db_project_info(File dir) throws Exception {
Home = dir;
@@ -206,7 +193,7 @@ public class db_project_info extends DBObject {
if (stored_info == null) {
name = Home.getName();
description = "";
creationDate = Utils_.getDateNumber(); //----------------------------------------------------------------------------->>>
creationDate = Utils_.getDateNumber();
db.Insert(this);
} else
ExtractStoredInfo(stored_info);
@@ -243,6 +230,7 @@ public class db_project_info extends DBObject {
db.Connect();
db.prepareTablesStatements();
db.Synchronize();
SynchronizeSapforProperties();
}
public void Close() throws Exception {
db.Disconnect();
@@ -257,11 +245,8 @@ public class db_project_info extends DBObject {
db.prepareTablesStatements();
db.Insert(this);
db.Disconnect();
//--
}
/*
public boolean isGCOVDone() {
return gcov_is_done != 0;
}*/
//------------------------------------
public void UpdatefgIterations(int iterations_in) {
fgIterations = iterations_in;
@@ -916,14 +901,14 @@ public class db_project_info extends DBObject {
}
}
public void createEmptyVersion(String versionLetter, String versionDescription) throws Exception {
boolean needsM = (Global.mainModule.getDb()).settings.get(SettingName.SaveModifications).toBoolean();
if (needsM)
//boolean needsM = (Global.mainModule.getDb()).settings.get(SettingName.SaveModifications).toBoolean();
if (sapforProperties.SaveModifications)
createModification();
last_version = new db_project_info(
this,
versionLetter,
versionDescription,
needsM ? last_modification.name : ""
sapforProperties.SaveModifications ? last_modification.name : ""
);
}
public void joinExistingVersion(File versionDirectory, String description_in) throws Exception {
@@ -936,6 +921,9 @@ public class db_project_info extends DBObject {
last_version.Home = versionDirectory;
last_version.creationDate = Utils_.getDateNumber(); //----------------------------------------------------------------------------->>>
last_version.CreateVisualiserData();
//наследование от предка
last_version.sapforProperties =new SapforProperties(last_version.parent.sapforProperties);
last_version.SynchronizeSapforProperties();
this.AddVersion(last_version);
}
//не является ли текущая версия последней модификацией
@@ -1120,10 +1108,6 @@ public class db_project_info extends DBObject {
to_restore.name = name;
to_restore.description = description;
to_restore.original = original;
// to_restore.fgIterations = fgIterations;
// to_restore.fgResistance = fgResistance;
// to_restore.fgScreen = fgScreen;
//-
CheckVisualiserDirectories();
db.Connect();
db.CreateAllTables();

View File

@@ -7,7 +7,6 @@ import Common.Visual.Tables.DBObjectSelectionRenderer;
import Common.Visual.Tables.DBObjectSelector;
import Common.Visual.Tables.RendererHiddenList;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArray;
import _VisualDVM.Visual.Tables.EditorFilesHyperlinks;

View File

@@ -1,27 +1,164 @@
package _VisualDVM.ProjectData.SapforData;
public class SapforProperties {
import Common.Properties;
import Common.Utils.Vector_;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import com.google.gson.annotations.Expose;
import javax.swing.*;
import java.io.File;
import java.util.Vector;
public class SapforProperties extends Properties {
//побочные настройки визулизатора
public boolean Precompilation=true;
public boolean SaveModifications=true; // сохранять исходную версию
public int GCOVLimit=10;
public String DVMConvertationOptions=" ";
@Expose
public boolean Precompilation = true;
@Expose
public boolean SaveModifications = true; // сохранять исходную версию
@Expose
public int GCOVLimit = 10;
@Expose
public String DVMConvertationOptions = " ";
//настройки для компонента SAPFOR
public int STATIC_SHADOW_ANALYSIS=0;
public int STATIC_PRIVATE_ANALYSIS=1;
public int FREE_FORM=0;
public int KEEP_DVM_DIRECTIVES=0;
public int KEEP_SPF_DIRECTIVES=0;
public int PARALLELIZE_FREE_LOOPS=0;
public int MAX_SHADOW_WIDTH=50;
public int OUTPUT_UPPER=0;
public int TRANSLATE_MESSAGES=1;
public int KEEP_LOOPS_CLOSE_NESTING=0;
public int KEEP_GCOV=0;
public int ANALYSIS_OPTIONS=0;
public int DEBUG_PRINT_ON=0;
public int MPI_PROGRAM=0;
public int IGNORE_IO_SAPFOR=0;
public int KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS=0;
public int PARSE_FOR_INLINE=0;
public int EMPTY_OPTION=0;
@Expose
public boolean STATIC_SHADOW_ANALYSIS = false;
@Expose
public boolean STATIC_PRIVATE_ANALYSIS = true;
@Expose
public boolean FREE_FORM = false;
@Expose
public boolean KEEP_DVM_DIRECTIVES = false;
@Expose
public boolean KEEP_SPF_DIRECTIVES = false;
@Expose
public boolean PARALLELIZE_FREE_LOOPS = false;
@Expose
public int MAX_SHADOW_WIDTH = 50;
@Expose
public boolean OUTPUT_UPPER = false;
@Expose
public boolean TRANSLATE_MESSAGES = true;
@Expose
public boolean KEEP_LOOPS_CLOSE_NESTING = false;
@Expose
public boolean KEEP_GCOV = false;
@Expose
public String ANALYSIS_OPTIONS = " ";
@Expose
public boolean DEBUG_PRINT_ON = false;
@Expose
public boolean MPI_PROGRAM = false;
@Expose
public boolean IGNORE_IO_SAPFOR = false;
@Expose
public boolean KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS = false;
@Expose
public boolean PARSE_FOR_INLINE = false;
public String pack() {
Vector<String> res = new Vector_<String>(
STATIC_SHADOW_ANALYSIS ? "1" : "0",
STATIC_PRIVATE_ANALYSIS ? "1" : "0",
FREE_FORM ? "1" : "0",
KEEP_DVM_DIRECTIVES ? "1" : "0",
KEEP_SPF_DIRECTIVES ? "1" : "0",
PARALLELIZE_FREE_LOOPS ? "1" : "0",
String.valueOf(MAX_SHADOW_WIDTH),
OUTPUT_UPPER ? "1" : "0",
TRANSLATE_MESSAGES ? "1" : "0",
KEEP_LOOPS_CLOSE_NESTING ? "1" : "0",
KEEP_GCOV ? "1" : "0",
ANALYSIS_OPTIONS,
DEBUG_PRINT_ON ? "1" : "0",
MPI_PROGRAM ? "1" : "0",
IGNORE_IO_SAPFOR ? "1" : "0",
KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS ? "1" : "0",
PARSE_FOR_INLINE ? "1" : "0"
);
return String.join("|", res);
}
//-
public SapforProperties(File file_in) {
super(file_in);
}
public SapforProperties() {
}
public SapforProperties(SapforProperties src) {
this.Precompilation = src.Precompilation;
this.SaveModifications = src.SaveModifications; // сохранять исходную версию
this.GCOVLimit = src.GCOVLimit;
this.DVMConvertationOptions = src.DVMConvertationOptions;
//настройки для компонента SAPFOR
this.STATIC_SHADOW_ANALYSIS = src.STATIC_SHADOW_ANALYSIS;
this.STATIC_PRIVATE_ANALYSIS = src.STATIC_PRIVATE_ANALYSIS;
this.FREE_FORM = src.FREE_FORM;
this.KEEP_DVM_DIRECTIVES = src.KEEP_DVM_DIRECTIVES;
this.KEEP_SPF_DIRECTIVES = src.KEEP_SPF_DIRECTIVES;
this.PARALLELIZE_FREE_LOOPS = src.PARALLELIZE_FREE_LOOPS;
this.MAX_SHADOW_WIDTH = src.MAX_SHADOW_WIDTH;
this.OUTPUT_UPPER = src.OUTPUT_UPPER;
this.TRANSLATE_MESSAGES = src.TRANSLATE_MESSAGES;
this.KEEP_LOOPS_CLOSE_NESTING = src.KEEP_LOOPS_CLOSE_NESTING;
this.KEEP_GCOV = src.KEEP_GCOV;
this.ANALYSIS_OPTIONS = src.ANALYSIS_OPTIONS;
this.DEBUG_PRINT_ON = src.DEBUG_PRINT_ON;
this.MPI_PROGRAM = src.MPI_PROGRAM;
this.IGNORE_IO_SAPFOR = src.IGNORE_IO_SAPFOR;
this.KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS = src.KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS;
this.PARSE_FOR_INLINE = src.PARSE_FOR_INLINE;
}
//-
@Override
public String getFieldDescription(String fieldName) {
switch (fieldName) {
case "SaveModifications":
return "Сохранять копию исходной версии при преобразованиях";
case "DVMConvertationOptions":
return "Опции DVM конвертации";
case "GCOVLimit":
return "Нижний порог отображения GCOV";
case "Precompilation":
return "Предварительная компиляция";
//------------------------------------------>>
case "STATIC_SHADOW_ANALYSIS":
return "Оптимизация теневых обменов";
case "STATIC_PRIVATE_ANALYSIS":
return "Статический анализ приватностей";
case "FREE_FORM":
return "Свободный выходной стиль";
case "KEEP_DVM_DIRECTIVES":
return "Учитывать DVM директивы";
case "KEEP_SPF_DIRECTIVES":
return "Сохранять SPF директивы при построении параллельных вариантов";
case "PARALLELIZE_FREE_LOOPS":
return "Улучшенное распараллеливание";
case "MAX_SHADOW_WIDTH":
return "Максимальный размер теневых граней";
case "OUTPUT_UPPER":
return "Верхний выходной регистр";
case "TRANSLATE_MESSAGES":
return "Сообщения на русском языке";
case "KEEP_LOOPS_CLOSE_NESTING":
return "Учитывать тесную вложенность циклов";
case "KEEP_GCOV":
return "Учитывать GCOV";
case "ANALYSIS_OPTIONS":
return "Опции анализа";
case "DEBUG_PRINT_ON":
return "Включить отладочную печать";
case "MPI_PROGRAM":
return "Общая память";
case "IGNORE_IO_SAPFOR":
return "Игнорировать ввод/вывод";
case "KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS":
return "Сохранять SPF директивы при преобразованиях";
case "PARSE_FOR_INLINE":
return "Синтаксический анализ для подстановки";
//------------------------------------------------------
}
return "";
}
//--
@Override
public boolean controlAction(String fieldName, JMenuItem control) {
return (Global.mainModule.getPass(PassCode.UpdateSapforProperty).Do(fieldName));
}
}

View File

@@ -4,10 +4,8 @@ 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;
@@ -18,7 +16,6 @@ import com.sun.org.glassfish.gmbal.Description;
import java.io.File;
import java.nio.file.Paths;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Vector;
public class BugReport extends rDBObject {
public String project_version = "";
@@ -53,7 +50,7 @@ public class BugReport extends rDBObject {
project_version = version_in;
visualiser_version = ComponentsSet.visualiser.version;
sapfor_version = Global.components.get(ComponentType.Sapfor_F).version;
packedSettingsJson = Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
packedSettingsJson = ""; //Utils_.gson.toJson(Global.mainModule.getDb().settings.getSapforSettingsJson());
percentage = 0;
description = description_in;
date = new Date().getTime();

View File

@@ -1,5 +1,4 @@
package _VisualDVM.Repository.BugReport.Json;
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
import com.google.gson.annotations.Expose;
public class RecipientJson {
@Expose

View File

@@ -1,7 +1,5 @@
package _VisualDVM.Repository.BugReport.Json;
import _VisualDVM.Repository.Subscribes.Subscriber;
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
import _VisualDVM.TestingSystem.Common.Configuration.Json.ConfigurationJson;
import com.google.gson.annotations.Expose;
import java.util.List;

View File

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

View File

@@ -1,6 +1,4 @@
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;
@@ -10,6 +8,7 @@ public class VisualiserSettingsJson {
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);
@@ -18,6 +17,7 @@ public class VisualiserSettingsJson {
ex.printStackTrace();
}
}
*/
return String.join("\n",res);
}
}

View File

@@ -1,12 +1,10 @@
package _VisualDVM.Repository.Component.Sapfor;
import Common.CommonConstants;
import Common.Passes.Pass;
import Common.Passes.PassException;
import Common.Utils.Utils_;
import Common.Visual.UI;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
import _VisualDVM.ProjectData.Files.DBProjectFile;
@@ -369,7 +367,8 @@ public abstract class Sapfor extends OSDComponent {
RunAnalysis(
"SPF_OpenDvmStatistic",
-Global.messagesServer.getPort(),
Global.packSapforSettings(),
"",
// Global.packSapforSettings(),
src);
return result;
}
@@ -573,10 +572,13 @@ public abstract class Sapfor extends OSDComponent {
//--------------------------------------------------------------------------->>
//временный (?) проход, по тихому получить размерность теста, предварительно выполнив тихий парс.
//тут все одноразовое. считаем что таблицы бд уже заполнены как надо.
/*
public LanguageStyle getStyle() throws Exception {
return (Global.mainModule.getDb()).settings.get(SettingName.FREE_FORM).toBoolean() ? LanguageStyle.free : LanguageStyle.fixed;
}
*/
//------------------------------------------------------------------------------------------------------------------
/*
public String getConsoleFlags() throws Exception {
Vector<String> res = new Vector<>();
if ((Global.mainModule.getDb()).settings.get(SettingName.FREE_FORM).toBoolean())
@@ -588,4 +590,5 @@ public abstract class Sapfor extends OSDComponent {
res.add("-keepSPF");
return String.join(" ", res);
}
*/
}

View File

@@ -1,6 +1,5 @@
package _VisualDVM.Repository.Component;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import java.io.File;

View File

@@ -5,7 +5,6 @@ import Common.Utils.InterruptThread;
import Common.Utils.Utils_;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.Server.DiagnosticSignalHandler;
import _VisualDVM.Repository.Server.ServerCode;
import _VisualDVM.Repository.Server.ServerExchangeUnit_2021;

View File

@@ -12,7 +12,6 @@ import _VisualDVM.GlobalData.User.User;
import _VisualDVM.Passes.All.ArchivesBackupPass;
import _VisualDVM.Passes.All.UnzipFolderPass;
import _VisualDVM.Passes.All.ZipFolderPass;
import _VisualDVM.Passes.Server.TestingSystemPass;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReportsDatabase;

View File

@@ -1,12 +1,10 @@
package _VisualDVM.TestingSystem.Common.Test;
import Common.Database.Tables.iDBTable;
import Common.Utils.Vector_;
import Common.Visual.DataSetControlForm;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Test.UI.TestsForm;
import javax.swing.*;
import java.util.LinkedHashMap;
import java.util.Vector;
public class TestDBTable extends iDBTable<Test> {
public TestDBTable() {

View File

@@ -1,13 +1,11 @@
package _VisualDVM.TestingSystem.Common;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Utils.Utils_;
import Common.Visual.Controls.MenuBarButton;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.Menus.VisualiserMenuBar;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.Passes.All.UpdateProperty;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;

View File

@@ -1,5 +1,4 @@
package _VisualDVM.TestingSystem.SAPFOR.SapforConfiguration;
import Common.CommonConstants;
import Common.Utils.TextLog;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.ServerObjectsCache.SapforConfigurationCache;
@@ -7,7 +6,6 @@ import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Configuration.Configuration;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.SAPFOR.SapforSettings.SapforSettings;
import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector;
public class SapforConfiguration extends Configuration {

View File

@@ -6,7 +6,6 @@ import Common.Utils.TextLog;
import Common.Utils.Utils_;
import Common.Visual.UI;
import Common.Visual.Windows.Dialog.VFileChooser_;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.GlobalData.Tasks.TaskState;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Project.db_project_info;

View File

@@ -7,7 +7,6 @@ import _VisualDVM.TestingSystem.Common.TestingMenuBar;
import _VisualDVM.Visual.Interface.DebugWindow;
import _VisualDVM.Visual.Interface.VersionsWindow;
import _VisualDVM.Visual.Menus.MainMenuBar.MainMenuBar;
import _VisualDVM.Visual.Windows.MainWindow;
import _VisualDVM.Visual.Menus.VersionsMenuBar.VersionsMenuBar;
import _VisualDVM.Visual.Syntax.LightSPFEditorTheme;
import _VisualDVM.Visual.Windows.*;

View File

@@ -3,7 +3,6 @@ import Common.Visual.Menus.VisualiserMenu;
import Common.Visual.Menus.VisualiserMenuItem;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.DBLastProject.DBLastProject;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import javax.swing.*;

View File

@@ -4,6 +4,7 @@ import _VisualDVM.Visual.Menus.PropertiesSubmenu;
public class SynchronizationSettingsMenu extends PropertiesSubmenu {
public SynchronizationSettingsMenu() {
super("Синхронизация", null,
Global.properties,
"AutoBugReportsLoad",
"AutoTestsLoad",
"AutoUpdateSearch");

View File

@@ -4,6 +4,7 @@ import _VisualDVM.Visual.Menus.PropertiesSubmenu;
public class VersionsComparisonMenu extends PropertiesSubmenu {
public VersionsComparisonMenu() {
super("Сравнение версий", null,
Global.properties,
"RegisterOn",
"SpacesOn",
"EmptyLinesOn",

View File

@@ -1,17 +1,20 @@
package _VisualDVM.Visual.Menus.MainMenuBar.VisualiserSettingsMenu;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class CompactnessSettingsMenu extends PropertiesSubmenu {
public CompactnessSettingsMenu() {
super("Компактность отображения", null,
Global.properties,
"SmallScreen",
"ShowFullArraysDeclarations",
"ShowFullTabsNames",
"LastOpenedProjectsCount",
"FastAccessPassesCount");
addSeparator();
addProperties("collapseProjectTrees", "collapseFileGraphs", "collapseFileMessages");
addProperties(
Global.properties,
"collapseProjectTrees",
"collapseFileGraphs",
"collapseFileMessages");
}
}

View File

@@ -2,36 +2,32 @@ package _VisualDVM.Visual.Menus.MainMenuBar.VisualiserSettingsMenu;
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.MainMenuBar.VersionsComparisonMenu;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
public class VisualiserSettingsMenu extends VisualiserMenu {
public VisualiserSettingsMenu() {
super("Настройки визуализатора", "/Common/icons/Settings.png");
//-
add(new PropertiesSubmenu("Подтверждения и уведомления", null,
Global.properties,
"ShowPassesDone",
"ConfirmPassesStart",
"FocusPassesResult"
));
add(new CompactnessSettingsMenu());
if (Utils_.isWindows()) {
add(new SettingsSubmenu("Компиляция на локальной машине", null){
{
add(Global.properties.getMenuItem("LocalMakePathWindows"));
add(Global.properties.getMenuItem("Kernels"));
}
}
);
add(new PropertiesSubmenu("Компиляция на локальной машине", null,
Global.properties,
"LocalMakePathWindows",
"Kernels"
));
}else {
add(new SettingsSubmenu("Компиляция на локальной машине", null){
{
add(Global.properties.getMenuItem("Kernels"));
}
}
);
add(new PropertiesSubmenu("Компиляция на локальной машине", null,
Global.properties,
"Kernels"
));
}
add(new SynchronizationSettingsMenu());

View File

@@ -1,11 +1,10 @@
package _VisualDVM.Visual.Menus.ProjectMenuBar;
import Common.Visual.Menus.VisualiserMenu;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.ProjectData.Files.LanguageStyle;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.Visual.Menus.LanguagesSubmenu;
import _VisualDVM.Visual.Menus.SettingsSubmenu;
import _VisualDVM.Visual.Menus.PropertiesSubmenu;
import _VisualDVM.Visual.Menus.StylesSubmenu;
import javax.swing.*;
@@ -34,33 +33,36 @@ public class ProjectSettingsMenu extends VisualiserMenu {
});
ShowStyle();
addSeparator();
add(new SettingsSubmenu("Анализ", null,
SettingName.Precompilation,
SettingName.STATIC_SHADOW_ANALYSIS,
SettingName.KEEP_DVM_DIRECTIVES,
SettingName.IGNORE_IO_SAPFOR,
SettingName.MPI_PROGRAM,
SettingName.ANALYSIS_OPTIONS
add(new PropertiesSubmenu("Анализ", null,
Global.mainModule.getProject().sapforProperties,
"Precompilation",
"STATIC_SHADOW_ANALYSIS",
"KEEP_DVM_DIRECTIVES",
"IGNORE_IO_SAPFOR",
"MPI_PROGRAM",
"ANALYSIS_OPTIONS"
));
addSeparator();
add(new SettingsSubmenu("Построение системы интервалов", null,
SettingName.KEEP_LOOPS_CLOSE_NESTING,
SettingName.KEEP_GCOV
add(new PropertiesSubmenu("Построение системы интервалов", null,
Global.mainModule.getProject().sapforProperties,
"KEEP_LOOPS_CLOSE_NESTING",
"KEEP_GCOV"
));
addSeparator();
add(new SettingsSubmenu("Построение версий", null,
SettingName.FREE_FORM,
SettingName.KEEP_SPF_DIRECTIVES,
SettingName.KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS,
SettingName.OUTPUT_UPPER,
SettingName.MAX_SHADOW_WIDTH,
SettingName.DVMConvertationOptions,
SettingName.SaveModifications
add(new PropertiesSubmenu("Построение версий", null,
Global.mainModule.getProject().sapforProperties,
"FREE_FORM",
"KEEP_SPF_DIRECTIVES",
"KEEP_SPF_DIRECTIVES_AMONG_TRANSFORMATIONS",
"OUTPUT_UPPER",
"MAX_SHADOW_WIDTH",
"DVMConvertationOptions",
"SaveModifications"
));
addSeparator();
add((Global.mainModule.getDb()).settings.get(SettingName.TRANSLATE_MESSAGES).getMenuItem());
add((Global.mainModule.getDb()).settings.get(SettingName.DEBUG_PRINT_ON).getMenuItem());
add((Global.mainModule.getDb()).settings.get(SettingName.GCOVLimit).getMenuItem());
add( Global.mainModule.getProject().sapforProperties.getMenuItem("TRANSLATE_MESSAGES"));
add( Global.mainModule.getProject().sapforProperties.getMenuItem("DEBUG_PRINT_ON"));
add( Global.mainModule.getProject().sapforProperties.getMenuItem("GCOVLimit"));
}
public void ShowLanguage() {
mLanguage.setText("Язык: " + Global.mainModule.getProject().languageName.getDescription());

View File

@@ -1,20 +1,20 @@
package _VisualDVM.Visual.Menus;
import Common.MainModule_;
import Common.Properties;
import Common.Utils.Utils_;
import Common.Visual.Fonts.VisualiserFonts;
import _VisualDVM.Global;
import javax.swing.*;
public class PropertiesSubmenu extends JMenu {
public PropertiesSubmenu(String title, String icon, String... properties) {
public PropertiesSubmenu(String title, String icon, Properties properties, String... names) {
super(title);
if (icon != null)
setIcon(Utils_.getIcon(icon));
setFont(MainModule_.instance.getUI().getTheme().Fonts.get(VisualiserFonts.Menu));
addProperties(properties);
addProperties(properties, names);
}
public void addProperties(String... properties) {
for (String name : properties)
add(Global.properties.getMenuItem(name));
public void addProperties(Properties properties, String... names) {
for (String name : names)
add(properties.getMenuItem(name));
}
}

View File

@@ -1,19 +0,0 @@
package _VisualDVM.Visual.Menus;
import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Fonts.VisualiserFonts;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import javax.swing.*;
public class SettingsSubmenu extends JMenu {
public SettingsSubmenu(String title, String icon, SettingName... settings) {
super(title);
if (icon != null)
setIcon(Utils_.getIcon(icon));
setFont(MainModule_.instance.getUI().getTheme().Fonts.get(VisualiserFonts.Menu));
for (SettingName c : settings) {
add((Global.mainModule.getDb()).settings.get(c).getMenuItem());
}
}
}

View File

@@ -5,7 +5,6 @@ import Common.Visual.Menus.VisualiserMenuBar;
import Common.Visual.TextField.StyledTextField;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Repository.BugReport.BugReport;
import _VisualDVM.Repository.BugReport.BugReportState;

View File

@@ -5,7 +5,6 @@ import Common.Visual.Tables.DataTable;
import Common.Visual.Trees.TreeForm;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Files.UI.Editor.SPFEditor;

View File

@@ -6,7 +6,6 @@ import Common.Visual.FormWithSplitters;
import Common.Visual.Trees.TreeForm;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Files.UI.FilesTree;

View File

@@ -4,7 +4,6 @@ import Common.Visual.Controls.MenuBarButton;
import _VisualDVM.Constants;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.ProjectFile;
import _VisualDVM.TestingSystem.SAPFOR.Json.SapforVersion_json;

View File

@@ -2,7 +2,6 @@ package _VisualDVM.Visual.Windows;
import Common.Database.Objects.DBObject;
import Common.Visual.Controls.MenuBarButton;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import javax.swing.*;
import java.util.Arrays;

View File

@@ -1,9 +1,7 @@
package _VisualDVM.Visual.Windows;
import Common.CommonConstants;
import Common.MainModule_;
import Common.Visual.FormWithSplitters;
import Common.Visual.TextField.StyledTextField;
import Common.Visual.UI;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler;

View File

@@ -1,7 +1,6 @@
package _VisualDVM.Visual.Windows;
import Common.Utils.Utils_;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.Files.ProjectFile;
import _VisualDVM.ProjectData.Project.db_project_info;