принятие сообщений сапфора в json

This commit is contained in:
2025-05-23 18:25:23 +03:00
parent bf5a648582
commit f5eaf3df25
7 changed files with 45 additions and 54 deletions

3
.idea/workspace.xml generated
View File

@@ -8,10 +8,11 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Files/DBProjectFile.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Message.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/Message.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/MessagesControlForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Messages/MessagesControlForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ProjectData/Project/db_project_info.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/Json/SapforVersion_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/SAPFOR/Json/SapforVersion_json.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -4,7 +4,7 @@
"ServerUserPassword": "mprit_2011", "ServerUserPassword": "mprit_2011",
"OfferRegistrationOnStart": true, "OfferRegistrationOnStart": true,
"Workspace": "E:\\Tests", "Workspace": "E:\\Tests",
"ProjectsSearchDirectory": "E:\\BUG", "ProjectsSearchDirectory": "E:\\SAPFOR\\Tests",
"DocumentsDirectory": "C:\\Users\\misha\\Documents\\_testing_system", "DocumentsDirectory": "C:\\Users\\misha\\Documents\\_testing_system",
"VisualiserPath": "C:\\Users\\misha\\Downloads", "VisualiserPath": "C:\\Users\\misha\\Downloads",
"Sapfor_FPath": "E:\\_sapfor_x64\\Components\\Sapfor_F", "Sapfor_FPath": "E:\\_sapfor_x64\\Components\\Sapfor_F",

View File

@@ -257,11 +257,31 @@ public class DBProjectFile extends ProjectFile {
break; break;
} }
} }
/*
public void AddNewMessage(Message message){ public void AddNewMessage(Message message) throws Exception{
switch (message.) switch (message.type){
case 0:
MessageWarning warning = new MessageWarning(name, message.line, message.value, message.group);
father.db.Insert(warning);
father.db.recommendations.addRecommendation(message.group);
if (state != FileState.HasErrors)
state = FileState.HasWarnings;
break;
case 1:
MessageError error = new MessageError(name, message.line, message.value, message.group);
father.db.Insert(error);
father.db.recommendations.addRecommendation(message.group);
state = FileState.HasErrors;
break;
case 2:
MessageNote note = new MessageNote(name, message.line, message.value, message.group);
father.db.Insert(note);
father.db.recommendations.addRecommendation(message.group);
if (state != FileState.HasWarnings && state != FileState.HasErrors)
state = FileState.HasNotes;
break;
}
} }
*/
public DefaultMutableTreeNode show_loop_graph_r(FileObjectWithMessages element) { public DefaultMutableTreeNode show_loop_graph_r(FileObjectWithMessages element) {

View File

@@ -26,7 +26,18 @@ public class Message extends iDBObject {
//-- //--
@Description("DEFAULT ''") @Description("DEFAULT ''")
public String file = ""; public String file = "";
public String group_s = "#"; public String getGroup_s() {
switch (group) {
case 0:
return "#m0000";
case Constants.parser_group: //сообщения от парсера.
return "#parser";
case Constants.compiler_group:
return "#compiler";
default:
return "#"+group;
}
}
//-- //--
public Message() { public Message() {
} }
@@ -34,7 +45,7 @@ public class Message extends iDBObject {
) throws Exception { ) throws Exception {
file = file_in; file = file_in;
line = line_in; line = line_in;
setGroup(group_in); group=group_in;
if ((group == Constants.parser_group) || if ((group == Constants.parser_group) ||
(group == Constants.compiler_group) || (group == Constants.compiler_group) ||
(Global.mode != Mode.Normal)) { (Global.mode != Mode.Normal)) {
@@ -444,21 +455,4 @@ public class Message extends iDBObject {
} }
} }
} }
public void setGroup(int group_in) {
group = group_in;
switch (group) {
case 0:
group_s += "m0000";
break;
case Constants.parser_group: //сообщения от парсера.
group_s += "parser";
break;
case Constants.compiler_group:
group_s += "compiler";
break;
default:
group_s += group;
break;
}
}
} }

View File

@@ -28,7 +28,7 @@ public class MessagesControlForm extends DataSetControlForm<Message> {
new ColumnInfo<Message>("группа") { new ColumnInfo<Message>("группа") {
@Override @Override
public Object getFieldAt(Message object) { public Object getFieldAt(Message object) {
return object.group_s; return object.getGroup_s();
} }
}, },
new ColumnInfo<Message>("строка") { new ColumnInfo<Message>("строка") {

View File

@@ -20,6 +20,7 @@ import _VisualDVM.ProjectData.Files.LanguageStyle;
import _VisualDVM.ProjectData.LanguageName; import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.ProjectData.Messages.Errors.MessageError; import _VisualDVM.ProjectData.Messages.Errors.MessageError;
import _VisualDVM.ProjectData.Messages.FileMessagesJson; import _VisualDVM.ProjectData.Messages.FileMessagesJson;
import _VisualDVM.ProjectData.Messages.Message;
import _VisualDVM.ProjectData.Messages.MessagesJson; import _VisualDVM.ProjectData.Messages.MessagesJson;
import _VisualDVM.ProjectData.Messages.Notes.MessageNote; import _VisualDVM.ProjectData.Messages.Notes.MessageNote;
import _VisualDVM.ProjectData.Messages.Recommendations.MessageRecommendation; import _VisualDVM.ProjectData.Messages.Recommendations.MessageRecommendation;
@@ -1140,38 +1141,13 @@ public class db_project_info extends DBObject {
} }
///------------------------------------------------------------------------------------------->>>>> ///------------------------------------------------------------------------------------------->>>>>
public void unpackMessagesAndLog(String packed_messages, String log_in) throws Exception { public void unpackMessagesAndLog(String packed_messages, String log_in) throws Exception {
System.out.println("packed_mesages="+packed_messages);
MessagesJson messages = Utils_.gson.fromJson(packed_messages, MessagesJson.class); MessagesJson messages = Utils_.gson.fromJson(packed_messages, MessagesJson.class);
for (FileMessagesJson fileMessages: messages.allMessages){ for (FileMessagesJson fileMessages: messages.allMessages){
fileMessages.file=Utils_.toW(fileMessages.file); fileMessages.file=Utils_.toW(fileMessages.file);
//-- //--
DBProjectFile messageFile = db.files.Data.get(fileMessages.file); DBProjectFile messageFile = db.files.Data.get(fileMessages.file);
for (Message message: fileMessages.messages){
} messageFile.AddNewMessage(message);
if (packed_messages.length() > 0) {
int idx = 0;
String[] splited = packed_messages.split("\\|");
int numberOfFiles = Integer.parseInt(splited[idx++]);
for (int i = 0; i < numberOfFiles; ++i) {
String message_file = Utils_.toW(splited[idx++]); //для ключа.
int numberOfMessages = Integer.parseInt(splited[idx++]);
if (!db.files.Data.containsKey(message_file)) {
throw new PassException("Ошибка при распаковке сообщений: файл: [" +
message_file +
"] не найден");
}
DBProjectFile messageFile = db.files.Data.get(message_file);
//0-1-2
for (int k = 0; k < numberOfMessages; ++k) {
String[] localSplit = splited[idx++].split(" ");
int m_type = Integer.parseInt(localSplit[0]);
int m_line = Integer.parseInt(localSplit[1]);
int m_group = Integer.parseInt(localSplit[2]);
String m_value = splited[idx++];
messageFile.CreateAndAddNewMessage(m_type, m_value, m_line, m_group);
}
messageFile.father.db.Update(messageFile);
} }
} }
Log = log_in; Log = log_in;

View File

@@ -215,7 +215,7 @@ public class SapforVersion_json implements Serializable {
case 1: case 1:
//group_s //group_s
if (isDigit(c)) { if (isDigit(c)) {
res.group_s += c; // res.group_s = res.getGroup_s() + c;
lexeme += c; lexeme += c;
} else if (c == ':') { } else if (c == ':') {
s = 2; s = 2;