принятие сообщений сапфора в 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

View File

@@ -20,6 +20,7 @@ import _VisualDVM.ProjectData.Files.LanguageStyle;
import _VisualDVM.ProjectData.LanguageName;
import _VisualDVM.ProjectData.Messages.Errors.MessageError;
import _VisualDVM.ProjectData.Messages.FileMessagesJson;
import _VisualDVM.ProjectData.Messages.Message;
import _VisualDVM.ProjectData.Messages.MessagesJson;
import _VisualDVM.ProjectData.Messages.Notes.MessageNote;
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 {
System.out.println("packed_mesages="+packed_messages);
MessagesJson messages = Utils_.gson.fromJson(packed_messages, MessagesJson.class);
for (FileMessagesJson fileMessages: messages.allMessages){
fileMessages.file=Utils_.toW(fileMessages.file);
//--
DBProjectFile messageFile = db.files.Data.get(fileMessages.file);
}
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);
for (Message message: fileMessages.messages){
messageFile.AddNewMessage(message);
}
}
Log = log_in;