package com.ausregistry.jtoolkit2.se; import com.ausregistry.jtoolkit2.EPPDateFormatter; import com.ausregistry.jtoolkit2.xml.XMLDocument; import java.util.GregorianCalendar; import javax.xml.xpath.XPathExpressionException; /** * Use this to access create data for a domain as provided in an EPP domain * create response compliant with RFC5730 and RFC5731. Such a service element * is sent by a compliant EPP server in response to a valid domain create * command, implemented by the DomainCreateCommand. * * @see com.ausregistry.jtoolkit2.se.DomainCreateCommand */ public class DomainCreateResponse extends CreateResponse { private static final long serialVersionUID = -5724827272682186647L; private static final String DOM_CR_DATE_EXPR = exprReplace(CR_DATE_EXPR); private static final String DOM_NAME_EXPR = exprReplace(CRE_DATA_EXPR) + "/domain:name/text()"; private static final String DOM_EX_DATE_EXPR = exprReplace(CRE_DATA_EXPR) + "/domain:exDate/text()"; private String name; private GregorianCalendar exDate; public DomainCreateResponse() { super(StandardObjectType.DOMAIN); } protected String crDateExpr() { return DOM_CR_DATE_EXPR; } protected static String exprReplace(String expr) { return expr.replaceAll(OBJ, StandardObjectType.DOMAIN.getName()); } public String getName() { return name; } public GregorianCalendar getExpiryDate() { return exDate; } @Override public void fromXML(XMLDocument xmlDoc) { super.fromXML(xmlDoc); if (!resultArray[0].succeeded()) { return; } try { name = xmlDoc.getNodeValue(DOM_NAME_EXPR); String exDateStr = xmlDoc.getNodeValue(DOM_EX_DATE_EXPR); exDate = EPPDateFormatter.fromXSDateTime(exDateStr); } catch (XPathExpressionException xpee) { maintLogger.warning(xpee.getMessage()); } } }