From: Daniel M. <tub...@us...> - 2004-02-09 20:35:10
|
Update of /cvsroot/epp-rtk/name-rtk-addon/java/src/com/gnr/rtk/addon/extensions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4683/src/com/gnr/rtk/addon/extensions Modified Files: EPPPersRegCreate.java Log Message: completed first draft of the persReg Create extension handler Index: EPPPersRegCreate.java =================================================================== RCS file: /cvsroot/epp-rtk/name-rtk-addon/java/src/com/gnr/rtk/addon/extensions/EPPPersRegCreate.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EPPPersRegCreate.java 7 Feb 2004 19:04:24 -0000 1.1 --- EPPPersRegCreate.java 9 Feb 2004 20:31:54 -0000 1.2 *************** *** 115,121 **** Element persReg = doc.createElement("persReg:create"); ! persReg.setAttribute("xmlns:persReg", "urn:ietf:params:xml:ns:persReg-1.0"); persReg.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); ! persReg.setAttribute("xsi:schemaLocation", "urn:ietf:params:xml:ns:persReg-1.0 persReg-1.0.xsd"); addXMLElement(doc, persReg, "persReg:consentID", extension_request_.m_consent_id); --- 115,121 ---- Element persReg = doc.createElement("persReg:create"); ! persReg.setAttribute("xmlns:persReg", "http://www.nic.name/epp/persReg-1.0"); persReg.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); ! persReg.setAttribute("xsi:schemaLocation", "http://www.nic.name/epp/persReg-1.0 persReg-1.0.xsd"); addXMLElement(doc, persReg, "persReg:consentID", extension_request_.m_consent_id); *************** *** 155,158 **** --- 155,226 ---- xml_ = xml; + try + { + + extension_response_ = new epp_PersRegCreateRsp(); + extension_response_.m_bundled_rate = false; + extension_response_.m_msg = null; + + if ( xml_ == null || + xml_.length() == 0 ) + { + // no xml string to parse + debug(DEBUG_LEVEL_THREE,method_name,"No XML to parse"); + debug(DEBUG_LEVEL_THREE,method_name,"Leaving"); + return; + } + + Element persreg_node = getDocumentElement(); + + if ( persreg_node == null ) + { + // XXX should we throw an exception at this point??? + return; + } + + NodeList persreg_node_list = persreg_node.getChildNodes(); + + if ( persreg_node_list.getLength() == 0 ) + { + // XXX should we throw an exception at this point??? + return; + } + + debug(DEBUG_LEVEL_TWO,method_name,"persreg_node_list's node count ["+persreg_node_list.getLength()+"]"); + + for (int count = 0; count < persreg_node_list.getLength(); count++) + { + Node a_node = persreg_node_list.item(count); + + if ( a_node.getNodeName().equals("persReg:bundledRate") ) { + String bundled_rate = a_node.getFirstChild().getNodeValue(); + if ( bundled_rate.equals("1") ) { + extension_response_.m_bundled_rate = true; + } else if ( ! bundled_rate.equals("0") ) { + throw new epp_XMLException("unknown persReg:bundledRate value ["+bundled_rate+"]"); + } + } + + if ( a_node.getNodeName().equals("persReg:msg") ) { + extension_response_.m_msg = new epp_PersRegMsgType(); + + extension_response_.m_msg.m_code = epp_PersRegCreErrCodeType.from_int(Short.parseShort(((Element)a_node).getAttribute("code"))); + extension_response_.m_msg.m_lang = ((Element)a_node).getAttribute("lang"); + if ( extension_response_.m_msg.m_lang == null ) extension_response_.m_msg.m_lang = "en"; + extension_response_.m_msg.m_value = a_node.getFirstChild().getNodeValue(); + } + } + + } + catch (SAXException xcp) + { + debug(DEBUG_LEVEL_ONE,method_name,xcp); + throw new epp_XMLException("unable to parse xml ["+xcp.getClass().getName()+"] ["+xcp.getMessage()+"]"); + } + catch (IOException xcp) + { + debug(DEBUG_LEVEL_ONE,method_name,xcp); + throw new epp_XMLException("unable to parse xml ["+xcp.getClass().getName()+"] ["+xcp.getMessage()+"]"); + } } |