98 lines
3.4 KiB
Java
98 lines
3.4 KiB
Java
package _VisualDVM.ProjectData.Messages.Recommendations;
|
||
import Common.Database.Tables.iDBTable;
|
||
import Common.Visual.DataSetControlForm;
|
||
import Common.Visual.Tables.RendererWrapText;
|
||
import _VisualDVM.Current;
|
||
import _VisualDVM.GlobalData.Settings.SettingName;
|
||
import _VisualDVM.Passes.PassCode;
|
||
public class RecommendationsDBTable extends iDBTable<MessageRecommendation> {
|
||
//group=1 - настройка
|
||
//group=2 - преобразование
|
||
public RecommendationsDBTable() {
|
||
super(MessageRecommendation.class);
|
||
// setUIContent(UI.getMainWindow().errorsPanel);
|
||
}
|
||
@Override
|
||
protected DataSetControlForm createUI() {
|
||
return new DataSetControlForm(this) {
|
||
@Override
|
||
protected void AdditionalInitColumns() {
|
||
columns.get(0).setVisible(false);
|
||
columns.get(1).setMinWidth(700);
|
||
columns.get(1).setRendererClass(RendererWrapText.class);
|
||
}
|
||
};
|
||
}
|
||
@Override
|
||
public boolean hasMenuBar() {
|
||
return false;
|
||
}
|
||
@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:
|
||
result = new MessageRecommendation(PassCode.SPF_RemoveUnusedFunctions);
|
||
break;
|
||
case 1018:
|
||
result = new MessageRecommendation(PassCode.SPF_LoopEndDoConverterPass);
|
||
break;
|
||
case 1020:
|
||
result = new MessageRecommendation(SettingName.KEEP_DVM_DIRECTIVES, "1");
|
||
break;
|
||
case 1027:
|
||
case 1060:
|
||
result = new MessageRecommendation(PassCode.SPF_CorrectCodeStylePass);
|
||
break;
|
||
case 1041:
|
||
case 3012:
|
||
case 3013:
|
||
case 3014:
|
||
case 3015:
|
||
case 3017:
|
||
case 3018:
|
||
result = new MessageRecommendation(PassCode.SPF_ResolveParallelRegionConflicts);
|
||
break;
|
||
case 1061:
|
||
result = new MessageRecommendation(PassCode.SPF_InsertIncludesPass);
|
||
break;
|
||
case 3020:
|
||
result = new MessageRecommendation(PassCode.SPF_DuplicateFunctionChains);
|
||
break;
|
||
}
|
||
MessageRecommendation finalResult = result;
|
||
if ((result != null) && (Data.values().stream().noneMatch(recommendation -> recommendation.isMatch(finalResult)))) {
|
||
try {
|
||
getDb().Insert(result);
|
||
} catch (Exception ex) {
|
||
ex.printStackTrace();
|
||
}
|
||
}
|
||
}
|
||
}
|