Files
VisualSapfor/src/_VisualDVM/ProjectData/Messages/Recommendations/RecommendationsDBTable.java

94 lines
3.3 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.ProjectData.Messages.Recommendations;
import Common.Database.Tables.iDBTable;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererWrapText;
2024-10-14 15:19:13 +03:00
import _VisualDVM.Current;
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;
2023-09-17 22:13:42 +03:00
public class RecommendationsDBTable extends iDBTable<MessageRecommendation> {
//group=1 - настройка
//group=2 - преобразование
public RecommendationsDBTable() {
super(MessageRecommendation.class);
// setUIContent(UI.getMainWindow().errorsPanel);
}
@Override
protected DataSetControlForm createUI() {
2024-10-14 15:19:13 +03:00
return new DataSetControlForm(this) {
2023-09-17 22:13:42 +03:00
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(1).setMinWidth(700);
columns.get(1).setRendererClass(RendererWrapText.class);
2023-09-17 22:13:42 +03:00
}
};
}
@Override
public String[] getUIColumnNames() {
return new String[]{"текст"};
}
@Override
public Object getFieldAt(MessageRecommendation object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.text;
default:
return null;
}
}
@Override
public String getSingleDescription() {
return "рекомендация";
}
@Override
public Current CurrentName() {
return Current.Recommendations;
}
public void addRecommendation(int group_in) {
MessageRecommendation result = null;
switch (group_in) {
/*
case 1013:
//процедура. понять как извлекать ее из сообщения, и сунуть как аргумент преобразованию.
break;
*/
case 1015:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_RemoveUnusedFunctions);
2023-09-17 22:13:42 +03:00
break;
case 1018:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_LoopEndDoConverterPass);
2023-09-17 22:13:42 +03:00
break;
case 1020:
result = new MessageRecommendation(SettingName.KEEP_DVM_DIRECTIVES, "1");
break;
case 1027:
case 1060:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_CorrectCodeStylePass);
2023-09-17 22:13:42 +03:00
break;
case 1041:
case 3012:
case 3013:
case 3014:
case 3015:
case 3017:
case 3018:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_ResolveParallelRegionConflicts);
2023-09-17 22:13:42 +03:00
break;
case 1061:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_InsertIncludesPass);
2023-09-17 22:13:42 +03:00
break;
case 3020:
2024-10-09 23:37:58 +03:00
result = new MessageRecommendation(PassCode.SPF_DuplicateFunctionChains);
2023-09-17 22:13:42 +03:00
break;
}
MessageRecommendation finalResult = result;
if ((result != null) && (Data.values().stream().noneMatch(recommendation -> recommendation.isMatch(finalResult)))) {
try {
getDb().Insert(result);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}