Search in sources :

Example 1 with MDMetadata

use of org.n52.shetland.iso.gmd.MDMetadata in project arctic-sea by 52North.

the class Iso19139GmdEncoderTest method checkMDMetadataEncoding.

// @Test
// public void checkMDMetadataReferenceEncoding() throws EncodingException {
// MDMetadata mdMmetadata = new MDMetadata(new SimpleAttrs().setHref("href").setTitle("title"));
// XmlObject xmlObject = encoder.encode(mdMmetadata);
// xmlObject.validate();
// errors.checkThat(xmlObject, instanceOf(MDMetadataPropertyType.class));
// }
@Test
public void checkMDMetadataEncoding() throws EncodingException {
    MDDataIdentification identificationInfo = new MDDataIdentification(new GmdCitation("title", new GmdCitationDate(GmdDateType.publication(), "2018-10-11")), "abstrakt", "ger");
    MDMetadata mdMmetadata = new MDMetadata(new CiResponsibleParty(new org.n52.shetland.iso.gco.Role(CodeList.CiRoleCodes.CI_RoleCode_author.name())), DateTime.now(), identificationInfo);
    XmlObject xmlObject = encoder.encode(mdMmetadata, EncodingContext.of(XmlBeansEncodingFlags.PROPERTY_TYPE));
    xmlObject.validate();
    errors.checkThat(xmlObject, instanceOf(MDMetadataPropertyType.class));
}
Also used : CiResponsibleParty(org.n52.shetland.iso.gmd.CiResponsibleParty) Role(org.n52.shetland.iso.gco.Role) MDDataIdentification(org.n52.shetland.iso.gmd.MDDataIdentification) GmdCitationDate(org.n52.shetland.iso.gmd.GmdCitationDate) MDMetadata(org.n52.shetland.iso.gmd.MDMetadata) XmlObject(org.apache.xmlbeans.XmlObject) MDMetadataPropertyType(org.isotc211.x2005.gmd.MDMetadataPropertyType) GmdCitation(org.n52.shetland.iso.gmd.GmdCitation) Test(org.junit.Test)

Example 2 with MDMetadata

use of org.n52.shetland.iso.gmd.MDMetadata in project arctic-sea by 52North.

the class Iso19139GmdEncoder method encodeMDMetadata.

private XmlObject encodeMDMetadata(MDMetadata mdMetadata, EncodingContext context) throws EncodingException {
    if (mdMetadata.isSetSimpleAttrs()) {
        MDMetadataPropertyType mdmpt = MDMetadataPropertyType.Factory.newInstance(getXmlOptions());
        mdmpt.setHref(mdMetadata.getSimpleAttrs().getHref());
        if (mdMetadata.getSimpleAttrs().isSetTitle()) {
            mdmpt.setTitle(mdMetadata.getSimpleAttrs().getTitle());
        }
        if (mdMetadata.getSimpleAttrs().isSetRole()) {
            mdmpt.setRole(mdMetadata.getSimpleAttrs().getRole());
        }
        return mdmpt;
    }
    MDMetadataType mdmt = MDMetadataType.Factory.newInstance(getXmlOptions());
    encodeAbstractObject(mdmt, mdMetadata);
    // add contacts
    for (CiResponsibleParty contact : mdMetadata.getContact()) {
        mdmt.addNewContact().set(encodeResponsibleParty(contact, EncodingContext.of(XmlBeansEncodingFlags.PROPERTY_TYPE, true)));
    }
    // add dateStamp
    mdmt.addNewDateStamp().setDateTime(mdMetadata.getDateStamp().toCalendar(Locale.ROOT));
    // add identificationInfo
    for (AbstractMDIdentification identificationInfo : mdMetadata.getIdentificationInfo()) {
        if (identificationInfo.isSetSimpleAttrs()) {
            MDIdentificationPropertyType mdipt = mdmt.addNewIdentificationInfo();
            mdipt.setHref(identificationInfo.getSimpleAttrs().getHref());
            if (identificationInfo.getSimpleAttrs().isSetTitle()) {
                mdipt.setTitle(identificationInfo.getSimpleAttrs().getTitle());
            }
            if (identificationInfo.getSimpleAttrs().isSetRole()) {
                mdipt.setRole(identificationInfo.getSimpleAttrs().getRole());
            }
        } else {
            mdmt.addNewIdentificationInfo().set(encode(identificationInfo, EncodingContext.of(XmlBeansEncodingFlags.PROPERTY_TYPE)));
        // TODO substitution???
        }
    }
    // TODO all other optional elements if required
    if (context.has(XmlBeansEncodingFlags.PROPERTY_TYPE)) {
        MDMetadataPropertyType mdmpt = MDMetadataPropertyType.Factory.newInstance(getXmlOptions());
        mdmpt.setMDMetadata(mdmt);
        return mdmpt;
    } else if (context.has(XmlBeansEncodingFlags.DOCUMENT)) {
        MDMetadataDocument mdmd = MDMetadataDocument.Factory.newInstance(getXmlOptions());
        mdmd.setMDMetadata(mdmt);
        return mdmd;
    }
    return mdmt;
}
Also used : CiResponsibleParty(org.n52.shetland.iso.gmd.CiResponsibleParty) AbstractMDIdentification(org.n52.shetland.iso.gmd.AbstractMDIdentification) MDMetadataType(org.isotc211.x2005.gmd.MDMetadataType) MDMetadataPropertyType(org.isotc211.x2005.gmd.MDMetadataPropertyType) MDIdentificationPropertyType(org.isotc211.x2005.gmd.MDIdentificationPropertyType) MDMetadataDocument(org.isotc211.x2005.gmd.MDMetadataDocument)

Aggregations

MDMetadataPropertyType (org.isotc211.x2005.gmd.MDMetadataPropertyType)2 CiResponsibleParty (org.n52.shetland.iso.gmd.CiResponsibleParty)2 XmlObject (org.apache.xmlbeans.XmlObject)1 MDIdentificationPropertyType (org.isotc211.x2005.gmd.MDIdentificationPropertyType)1 MDMetadataDocument (org.isotc211.x2005.gmd.MDMetadataDocument)1 MDMetadataType (org.isotc211.x2005.gmd.MDMetadataType)1 Test (org.junit.Test)1 Role (org.n52.shetland.iso.gco.Role)1 AbstractMDIdentification (org.n52.shetland.iso.gmd.AbstractMDIdentification)1 GmdCitation (org.n52.shetland.iso.gmd.GmdCitation)1 GmdCitationDate (org.n52.shetland.iso.gmd.GmdCitationDate)1 MDDataIdentification (org.n52.shetland.iso.gmd.MDDataIdentification)1 MDMetadata (org.n52.shetland.iso.gmd.MDMetadata)1