принятие сообщений сапфора в json
This commit is contained in:
@@ -257,11 +257,31 @@ public class DBProjectFile extends ProjectFile {
|
||||
break;
|
||||
}
|
||||
}
|
||||
/*
|
||||
public void AddNewMessage(Message message){
|
||||
switch (message.)
|
||||
|
||||
public void AddNewMessage(Message message) throws Exception{
|
||||
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) {
|
||||
|
||||
@@ -26,7 +26,18 @@ public class Message extends iDBObject {
|
||||
//--
|
||||
@Description("DEFAULT ''")
|
||||
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() {
|
||||
}
|
||||
@@ -34,7 +45,7 @@ public class Message extends iDBObject {
|
||||
) throws Exception {
|
||||
file = file_in;
|
||||
line = line_in;
|
||||
setGroup(group_in);
|
||||
group=group_in;
|
||||
if ((group == Constants.parser_group) ||
|
||||
(group == Constants.compiler_group) ||
|
||||
(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class MessagesControlForm extends DataSetControlForm<Message> {
|
||||
new ColumnInfo<Message>("группа") {
|
||||
@Override
|
||||
public Object getFieldAt(Message object) {
|
||||
return object.group_s;
|
||||
return object.getGroup_s();
|
||||
}
|
||||
},
|
||||
new ColumnInfo<Message>("строка") {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -215,7 +215,7 @@ public class SapforVersion_json implements Serializable {
|
||||
case 1:
|
||||
//group_s
|
||||
if (isDigit(c)) {
|
||||
res.group_s += c;
|
||||
// res.group_s = res.getGroup_s() + c;
|
||||
lexeme += c;
|
||||
} else if (c == ':') {
|
||||
s = 2;
|
||||
|
||||
Reference in New Issue
Block a user