package com.ausregistry.jtoolkit2.se; import com.ausregistry.jtoolkit2.xml.XMLDocument; import javax.xml.xpath.XPathExpressionException; /** * Legacy extension of the domain mapping of the EPP info response, as defined * in RFC5730 and RFC5731, to .au domain names, the specification of which is * in the XML schema definition urn:au:params:xml:ns:auext-1.0. * Instances of this class provide an interface to access all of the * information available through EPP for a .au domain name. This relies on the * instance first being initialised by a suitable EPP domain info response * using the method fromXML. For flexibility, this implementation extracts the * data from the response using XPath queries, the expressions for which are * defined statically. */ public final class AuDomainInfoResponseV1 extends DomainInfoResponse { private static final long serialVersionUID = 6585390748052827078L; private static final String AUEXT_EXPR = RESPONSE_EXPR + "/e:extension/auext1:extensionAU/auext1:info"; private static final String AU_REGISTRANT_NAME_EXPR = AUEXT_EXPR + "/auext1:registrantName/text()"; private static final String AU_REGISTRANT_ID_EXPR = AUEXT_EXPR + "/auext1:registrantID/text()"; private static final String AU_REGISTRANT_ID_TYPE_EXPR = AUEXT_EXPR + "/auext1:registrantID/@type"; private static final String AU_ELI_TYPE_EXPR = AUEXT_EXPR + "/auext1:eligibilityType/text()"; private static final String AU_ELI_NAME_EXPR = AUEXT_EXPR + "/auext1:eligibilityName/text()"; private static final String AU_ELI_ID_EXPR = AUEXT_EXPR + "/auext1:eligibilityID/text()"; private static final String AU_ELI_ID_TYPE_EXPR = AUEXT_EXPR + "/auext1:eligibilityID/@type"; private static final String AU_POLICY_REASON_EXPR = AUEXT_EXPR + "/auext1:policyReason/text()"; private String registrantName; private String registrantID; private String registrantIDType; private String eligibilityType; private String eligibilityName; private String eligibilityID; private String eligibilityIDType; private int policyReason; public AuDomainInfoResponseV1() { super(); } public String getRegistrantName() { return registrantName; } public String getAuRegistrantID() { return registrantID; } public String getRegistrantIDType() { return registrantIDType; } public String getEligibilityType() { return eligibilityType; } public String getEligibilityName() { return eligibilityName; } public String getEligibilityID() { return eligibilityID; } public String getEligibilityIDType() { return eligibilityIDType; } public int getPolicyReason() { return policyReason; } @Override public void fromXML(XMLDocument xmlDoc) { super.fromXML(xmlDoc); if (!resultArray[0].succeeded()) { return; } try { registrantName = xmlDoc.getNodeValue(AU_REGISTRANT_NAME_EXPR); registrantID = xmlDoc.getNodeValue(AU_REGISTRANT_ID_EXPR); registrantIDType = xmlDoc.getNodeValue(AU_REGISTRANT_ID_TYPE_EXPR); eligibilityType = xmlDoc.getNodeValue(AU_ELI_TYPE_EXPR); eligibilityName = xmlDoc.getNodeValue(AU_ELI_NAME_EXPR); eligibilityID = xmlDoc.getNodeValue(AU_ELI_ID_EXPR); eligibilityIDType = xmlDoc.getNodeValue(AU_ELI_ID_TYPE_EXPR); String polReason = xmlDoc.getNodeValue(AU_POLICY_REASON_EXPR); policyReason = Integer.parseInt(polReason); } catch (XPathExpressionException xpee) { maintLogger.warning(xpee.getMessage()); } } }