1 package com.quikj.application.web.oamp.messaging; 2 3 import org.w3c.dom.*; 5 6 import net.n3.nanoxml.*; 8 9 public class OAMPSystemMessageParser implements OAMPMessageParserInterface 10 { 11 public static final String OAMP_SYSTEM_FEATURE_NAME = "system"; 12 13 public OAMPSystemMessageParser() 14 { 15 } 16 17 public boolean parse(Object message_element, boolean request) 18 { 19 message = null; errorMessage = ""; 21 String node_name; 22 23 if (OAMPFrameworkMessageParser.getParserType() == OAMPFrameworkMessageParser.DOM_PARSER) 24 { 25 node_name = getDomNodeName(message_element); 26 } 27 else { 29 node_name = getNanoNodeName(message_element); 30 } 31 32 if (node_name.equals(OAMPSystemMessageTypes.REGISTRATION_NODE_NAME) == true) 33 { 34 if (request == true) { 36 OAMPMessageInterface msg = new RegistrationRequestMessage(); 37 if (msg.parse(message_element) == false) { 39 errorMessage = msg.getErrorMessage(); 40 return false; 41 } 42 message = msg; 43 return true; 44 } 45 else { 47 OAMPMessageInterface msg = new RegistrationResponseMessage(); 48 if (msg.parse(message_element) == false) { 50 errorMessage = msg.getErrorMessage(); 51 return false; 52 } 53 message = msg; 54 return true; 55 } 56 } 57 else if (node_name.equals(OAMPSystemMessageTypes.LOG_NODE_NAME) == true) 58 { 59 if (request == true) { 61 OAMPMessageInterface msg = new LogRequestMessage(); 62 if (msg.parse(message_element) == false) { 64 errorMessage = msg.getErrorMessage(); 65 return false; 66 } 67 message = msg; 68 return true; 69 } 70 else { 72 errorMessage = "Unsupported OAMP system message type: " 73 + node_name 74 + " received"; 75 return false; 76 } 77 } 78 else 79 { 80 errorMessage = "Unsupported OAMP system message type: " 81 + node_name 82 + " received"; 83 return false; 84 } 85 86 } 87 88 private String getDomNodeName(Object message_element) 89 { 90 return ((Node)message_element).getNodeName(); 91 } 92 93 private String getNanoNodeName(Object message_element) 94 { 95 return ((IXMLElement)message_element).getFullName(); 96 } 97 98 public OAMPMessageInterface getMessage() 99 { 100 return message; 101 } 102 103 public String getErrorMessage() 104 { 105 return errorMessage; 106 } 107 108 private OAMPMessageInterface message; 109 private String errorMessage = ""; 110 111 } 112 | Popular Tags |