mirror of
https://github.com/google/nomulus
synced 2026-05-23 00:01:58 +00:00
Add rdeEppParams to RDE output (#3041)
We mostly had the xsd code for this already, we just never actually used it and added it to the output. Note that I had to make some changes to allow the expected format (where some of the elements are empty).
This commit is contained in:
@@ -220,6 +220,9 @@ public class RdeIO {
|
||||
}
|
||||
}
|
||||
|
||||
output.write(marshaller.marshalRdeEppParams());
|
||||
counter.increment(RdeResourceType.EPP_PARAMS);
|
||||
|
||||
// Output XML that says how many resources were emitted.
|
||||
header = counter.makeHeader(tld, mode);
|
||||
output.write(marshaller.marshalOrDie(new XjcRdeHeaderElement(header)));
|
||||
|
||||
@@ -20,15 +20,26 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import com.google.common.flogger.FluentLogger;
|
||||
import google.registry.model.ImmutableObject;
|
||||
import google.registry.model.domain.Domain;
|
||||
import google.registry.model.eppcommon.ProtocolDefinition;
|
||||
import google.registry.model.host.Host;
|
||||
import google.registry.model.rde.RdeMode;
|
||||
import google.registry.model.registrar.Registrar;
|
||||
import google.registry.tldconfig.idn.IdnTable;
|
||||
import google.registry.xjc.XjcXmlTransformer;
|
||||
import google.registry.xjc.epp.XjcEppDcpAccessType;
|
||||
import google.registry.xjc.epp.XjcEppDcpOursType;
|
||||
import google.registry.xjc.epp.XjcEppDcpPurposeType;
|
||||
import google.registry.xjc.epp.XjcEppDcpRecipientType;
|
||||
import google.registry.xjc.epp.XjcEppDcpRetentionType;
|
||||
import google.registry.xjc.epp.XjcEppDcpStatementType;
|
||||
import google.registry.xjc.epp.XjcEppDcpType;
|
||||
import google.registry.xjc.epp.XjcEppExtURIType;
|
||||
import google.registry.xjc.rde.XjcRdeContentsType;
|
||||
import google.registry.xjc.rde.XjcRdeDeposit;
|
||||
import google.registry.xjc.rde.XjcRdeDepositTypeType;
|
||||
import google.registry.xjc.rde.XjcRdeMenuType;
|
||||
import google.registry.xjc.rdeeppparams.XjcRdeEppParams;
|
||||
import google.registry.xjc.rdeeppparams.XjcRdeEppParamsElement;
|
||||
import google.registry.xjc.rdeidn.XjcRdeIdn;
|
||||
import google.registry.xjc.rdeidn.XjcRdeIdnElement;
|
||||
import google.registry.xjc.rdepolicy.XjcRdePolicy;
|
||||
@@ -151,6 +162,43 @@ public final class RdeMarshaller implements Serializable {
|
||||
return marshalOrDie(new XjcRdeIdnElement(bean));
|
||||
}
|
||||
|
||||
public String marshalRdeEppParams() {
|
||||
XjcRdeEppParams bean = new XjcRdeEppParams();
|
||||
bean.getVersions().add("1.0");
|
||||
bean.getLangs().add("en");
|
||||
bean.getObjURIs().add(RdeResourceType.DOMAIN.getUri());
|
||||
bean.getObjURIs().add(RdeResourceType.HOST.getUri());
|
||||
|
||||
XjcEppExtURIType serviceExtensions = new XjcEppExtURIType();
|
||||
serviceExtensions.getExtURIs().addAll(ProtocolDefinition.getVisibleServiceExtensionUris());
|
||||
bean.setSvcExtension(serviceExtensions);
|
||||
|
||||
XjcEppDcpType dcpType = new XjcEppDcpType();
|
||||
XjcEppDcpAccessType accessType = new XjcEppDcpAccessType();
|
||||
accessType.setAll(new XjcEppDcpAccessType.All());
|
||||
dcpType.setAccess(accessType);
|
||||
|
||||
XjcEppDcpStatementType statementType = new XjcEppDcpStatementType();
|
||||
|
||||
XjcEppDcpPurposeType purposeType = new XjcEppDcpPurposeType();
|
||||
purposeType.setAdmin(new XjcEppDcpPurposeType.Admin());
|
||||
purposeType.setProv(new XjcEppDcpPurposeType.Prov());
|
||||
statementType.setPurpose(purposeType);
|
||||
|
||||
XjcEppDcpRecipientType recipientType = new XjcEppDcpRecipientType();
|
||||
recipientType.getOurs().add(new XjcEppDcpOursType());
|
||||
recipientType.setPublic(new XjcEppDcpRecipientType.Public());
|
||||
statementType.setRecipient(recipientType);
|
||||
|
||||
XjcEppDcpRetentionType retentionType = new XjcEppDcpRetentionType();
|
||||
retentionType.setStated(new XjcEppDcpRetentionType.Stated());
|
||||
statementType.setRetention(retentionType);
|
||||
|
||||
dcpType.getStatements().add(statementType);
|
||||
bean.setDcp(dcpType);
|
||||
return marshalOrDie(new XjcRdeEppParamsElement(bean));
|
||||
}
|
||||
|
||||
private DepositFragment marshalResource(
|
||||
RdeResourceType type, ImmutableObject resource, JAXBElement<?> element) {
|
||||
String xml = "";
|
||||
|
||||
@@ -29,7 +29,8 @@ public enum RdeResourceType {
|
||||
HOST("urn:ietf:params:xml:ns:rdeHost-1.0", EnumSet.of(FULL)),
|
||||
REGISTRAR("urn:ietf:params:xml:ns:rdeRegistrar-1.0", EnumSet.of(FULL, THIN)),
|
||||
IDN("urn:ietf:params:xml:ns:rdeIDN-1.0", EnumSet.of(FULL)),
|
||||
HEADER("urn:ietf:params:xml:ns:rdeHeader-1.0", EnumSet.of(FULL, THIN));
|
||||
HEADER("urn:ietf:params:xml:ns:rdeHeader-1.0", EnumSet.of(FULL, THIN)),
|
||||
EPP_PARAMS("urn:ietf:params:xml:ns:rdeEppParams-1.0", EnumSet.of(FULL, THIN));
|
||||
|
||||
private final String uri;
|
||||
private final ImmutableSet<RdeMode> modes;
|
||||
|
||||
@@ -91,12 +91,12 @@ Data Collection Policy types.
|
||||
|
||||
<complexType name="dcpAccessType">
|
||||
<choice>
|
||||
<element name="all"/>
|
||||
<element name="none"/>
|
||||
<element name="null"/>
|
||||
<element name="other"/>
|
||||
<element name="personal"/>
|
||||
<element name="personalAndOther"/>
|
||||
<element name="all"><complexType/></element>
|
||||
<element name="none"><complexType/></element>
|
||||
<element name="null"><complexType/></element>
|
||||
<element name="other"><complexType/></element>
|
||||
<element name="personal"><complexType/></element>
|
||||
<element name="personalAndOther"><complexType/></element>
|
||||
</choice>
|
||||
</complexType>
|
||||
|
||||
@@ -111,28 +111,29 @@ Data Collection Policy types.
|
||||
<complexType name="dcpPurposeType">
|
||||
<sequence>
|
||||
<element name="admin"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="contact"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="other"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="prov"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
<complexType name="dcpRecipientType">
|
||||
<sequence>
|
||||
<element name="other"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="ours" type="epp:dcpOursType"
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
minOccurs="0" maxOccurs="unbounded"/>
|
||||
<element name="public"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="same"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
<element name="unrelated"
|
||||
minOccurs="0"/>
|
||||
minOccurs="0"><complexType/></element>
|
||||
|
||||
</sequence>
|
||||
</complexType>
|
||||
|
||||
@@ -152,11 +153,11 @@ Data Collection Policy types.
|
||||
|
||||
<complexType name="dcpRetentionType">
|
||||
<choice>
|
||||
<element name="business"/>
|
||||
<element name="indefinite"/>
|
||||
<element name="legal"/>
|
||||
<element name="none"/>
|
||||
<element name="stated"/>
|
||||
<element name="business"><complexType/></element>
|
||||
<element name="indefinite"><complexType/></element>
|
||||
<element name="legal"><complexType/></element>
|
||||
<element name="none"><complexType/></element>
|
||||
<element name="stated"><complexType/></element>
|
||||
</choice>
|
||||
</complexType>
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<rde:rdeMenu>
|
||||
<rde:version>1.0</rde:version>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeEppParams-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeHeader-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeRegistrar-1.0</rde:objURI>
|
||||
</rde:rdeMenu>
|
||||
@@ -11,10 +12,45 @@
|
||||
<rdeDomain:domain/>
|
||||
<rdeRegistrar:registrar/>
|
||||
|
||||
<rdeEppParams:eppParams>
|
||||
<rdeEppParams:version>1.0</rdeEppParams:version>
|
||||
<rdeEppParams:lang>en</rdeEppParams:lang>
|
||||
<rdeEppParams:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0</rdeEppParams:objURI>
|
||||
<rdeEppParams:objURI>urn:ietf:params:xml:ns:rdeHost-1.0</rdeEppParams:objURI>
|
||||
<rdeEppParams:svcExtension>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:launch-1.0</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:rgp-1.0</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.6</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.11</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.12</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:epp:fee-1.0</epp:extURI>
|
||||
</rdeEppParams:svcExtension>
|
||||
<rdeEppParams:dcp>
|
||||
<epp:access>
|
||||
<epp:all/>
|
||||
</epp:access>
|
||||
<epp:statement>
|
||||
<epp:purpose>
|
||||
<epp:admin/>
|
||||
<epp:prov/>
|
||||
</epp:purpose>
|
||||
<epp:recipient>
|
||||
<epp:ours/>
|
||||
<epp:public/>
|
||||
</epp:recipient>
|
||||
<epp:retention>
|
||||
<epp:stated/>
|
||||
</epp:retention>
|
||||
</epp:statement>
|
||||
</rdeEppParams:dcp>
|
||||
</rdeEppParams:eppParams>
|
||||
|
||||
<rdeHeader:header>
|
||||
<rdeHeader:tld>soy</rdeHeader:tld>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeDomain-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1</rdeHeader:count>
|
||||
</rdeHeader:header>
|
||||
|
||||
</rde:contents>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<rde:rdeMenu>
|
||||
<rde:version>1.0</rde:version>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeEppParams-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeHeader-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeHost-1.0</rde:objURI>
|
||||
<rde:objURI>urn:ietf:params:xml:ns:rdeIDN-1.0</rde:objURI>
|
||||
@@ -34,12 +35,47 @@
|
||||
<rdeIDN:urlPolicy>https://www.registry.google/about/policies/domainabuse/</rdeIDN:urlPolicy>
|
||||
</rdeIDN:idnTableRef>
|
||||
|
||||
<rdeEppParams:eppParams>
|
||||
<rdeEppParams:version>1.0</rdeEppParams:version>
|
||||
<rdeEppParams:lang>en</rdeEppParams:lang>
|
||||
<rdeEppParams:objURI>urn:ietf:params:xml:ns:rdeDomain-1.0</rdeEppParams:objURI>
|
||||
<rdeEppParams:objURI>urn:ietf:params:xml:ns:rdeHost-1.0</rdeEppParams:objURI>
|
||||
<rdeEppParams:svcExtension>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:launch-1.0</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:rgp-1.0</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:secDNS-1.1</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.6</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.11</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:fee-0.12</epp:extURI>
|
||||
<epp:extURI>urn:ietf:params:xml:ns:epp:fee-1.0</epp:extURI>
|
||||
</rdeEppParams:svcExtension>
|
||||
<rdeEppParams:dcp>
|
||||
<epp:access>
|
||||
<epp:all/>
|
||||
</epp:access>
|
||||
<epp:statement>
|
||||
<epp:purpose>
|
||||
<epp:admin/>
|
||||
<epp:prov/>
|
||||
</epp:purpose>
|
||||
<epp:recipient>
|
||||
<epp:ours/>
|
||||
<epp:public/>
|
||||
</epp:recipient>
|
||||
<epp:retention>
|
||||
<epp:stated/>
|
||||
</epp:retention>
|
||||
</epp:statement>
|
||||
</rdeEppParams:dcp>
|
||||
</rdeEppParams:eppParams>
|
||||
|
||||
<rdeHeader:header>
|
||||
<rdeHeader:tld>soy</rdeHeader:tld>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeDomain-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeHost-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeIDN-1.0">4</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1</rdeHeader:count>
|
||||
</rdeHeader:header>
|
||||
|
||||
</rde:contents>
|
||||
|
||||
@@ -14,5 +14,6 @@
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeHost-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeRegistrar-1.0">1</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeIDN-1.0">4</rdeHeader:count>
|
||||
<rdeHeader:count uri="urn:ietf:params:xml:ns:rdeEppParams-1.0">1</rdeHeader:count>
|
||||
</rdeHeader:header>
|
||||
</rdeReport:report>
|
||||
|
||||
Reference in New Issue
Block a user