1 package com.quikj.server.framework; 2 3 import org.w3c.dom.*; 5 6 7 10 12 26 27 30 33 36 47 48 public class AceLogMessageParser 49 { 50 public static final String TRACE_INFO_MESSAGE = "logger_trace_info_message"; 51 public static final String LOG_MESSAGE = "logger_message"; 52 public static final String TRACE_REQ_MESSAGE = "logger_trace_req_message"; 53 54 public AceLogMessageParser(int group, Document doc) 55 throws AceException 56 { 57 if (doc.getNodeType() != Node.DOCUMENT_NODE) 58 { 59 61 throw new AceException("Received control message does not begin with an XML node"); 63 } 64 65 boolean node_found = false; 66 Node msg_node; 67 for (msg_node = doc.getFirstChild(); 68 msg_node != null; 69 msg_node = msg_node.getNextSibling()) 70 { 71 if (msg_node.getNodeType() == Node.ELEMENT_NODE) 72 { 73 node_found = true; 74 break; 75 } 76 } 78 79 if (node_found == false) 80 { 81 83 throw new AceException("Received control message does not contain any child element node"); 85 } 86 87 String msg_type = msg_node.getNodeName(); 88 if (msg_type.equals(TRACE_INFO_MESSAGE) == true) 89 { 90 messageElement = new AceTraceInfoMessage(group, msg_node); 91 } 92 else if (msg_type.equals(TRACE_REQ_MESSAGE) == true) 93 { 94 messageElement = new AceTraceReqMessage(group, msg_node); 95 } 96 else if (msg_type.equals(LOG_MESSAGE) == true) 97 { 98 messageElement = new AceLogMessage(group, msg_node); 99 } 100 else 101 { 102 throw new AceException("Unknown message type : " 103 + msg_type 104 + " received"); 105 } 106 } 107 108 public void dispose() 109 { 110 } 111 112 public AceLogMessageInterface getMessageElement() 113 { 114 return messageElement; 115 } 116 117 private AceLogMessageInterface messageElement = null; 118 } 119 120 121 122 123 124 125 126 127 128 129 | Popular Tags |