Search in sources :

Example 6 with DescribeRecordResponseType

use of net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType in project ddf by codice.

the class CswEndpoint method buildDescribeRecordResponseFromTypes.

private DescribeRecordResponseType buildDescribeRecordResponseFromTypes(List<QName> types, String version) throws CswException {
    validator.validateFullyQualifiedTypes(types);
    DescribeRecordResponseType response = new DescribeRecordResponseType();
    List<SchemaComponentType> schemas = new ArrayList<>();
    if (types.isEmpty()) {
        schemas.add(getSchemaComponentType(CswConstants.CSW_OUTPUT_SCHEMA));
        schemas.add(getSchemaComponentType(GmdConstants.GMD_NAMESPACE));
    } else {
        if (types.contains(new QName(CswConstants.CSW_OUTPUT_SCHEMA, CswConstants.CSW_RECORD_LOCAL_NAME))) {
            schemas.add(getSchemaComponentType(CswConstants.CSW_OUTPUT_SCHEMA));
        }
        if (types.contains(new QName(GmdConstants.GMD_NAMESPACE, GmdConstants.GMD_LOCAL_NAME))) {
            schemas.add(getSchemaComponentType(GmdConstants.GMD_NAMESPACE));
        }
        if (types.contains(new QName(CswConstants.EBRIM_SCHEMA, CswConstants.EBRIM_RECORD_LOCAL_NAME))) {
            schemas.add(getSchemaComponentType(CswConstants.EBRIM_SCHEMA));
        }
    }
    response.setSchemaComponent(schemas);
    return response;
}
Also used : SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) QName(javax.xml.namespace.QName) ArrayList(java.util.ArrayList)

Example 7 with DescribeRecordResponseType

use of net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType in project ddf by codice.

the class TestCswEndpoint method testMarshallDescribeRecord.

/**
     * Tests to see that JAXB configuration is working
     */
@Test
public void testMarshallDescribeRecord() {
    DescribeRecordResponseType response = new DescribeRecordResponseType();
    List<SchemaComponentType> schemas = new ArrayList<>();
    SchemaComponentType schemaComponentType = new SchemaComponentType();
    schemas.add(schemaComponentType);
    response.setSchemaComponent(schemas);
    JAXBContext context;
    try {
        context = JAXBContext.newInstance("net.opengis.cat.csw.v_2_0_2:net.opengis.filter.v_1_1_0:net.opengis.gml.v_3_1_1");
        Marshaller marshaller = context.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
        StringWriter sw = new StringWriter();
        JAXBElement<DescribeRecordResponseType> wrappedResponse = new JAXBElement<>(cswQnameOutPutSchema, DescribeRecordResponseType.class, response);
        marshaller.marshal(wrappedResponse, sw);
        LOGGER.info("Response: {}", sw.toString());
    } catch (JAXBException e) {
        fail("Could not marshall message, Error: " + e.getMessage());
    }
}
Also used : Marshaller(javax.xml.bind.Marshaller) SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) StringWriter(java.io.StringWriter) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) JAXBException(javax.xml.bind.JAXBException) ArrayList(java.util.ArrayList) JAXBContext(javax.xml.bind.JAXBContext) JAXBElement(javax.xml.bind.JAXBElement) Test(org.junit.Test)

Example 8 with DescribeRecordResponseType

use of net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType in project ddf by codice.

the class TestCswEndpoint method testPostDescribeRecordRequestGMDTypePassed.

@Test
public void testPostDescribeRecordRequestGMDTypePassed() {
    DescribeRecordType drt = createDefaultDescribeRecordType();
    List<QName> typeNames = new ArrayList<>();
    typeNames.add(new QName(GmdConstants.GMD_NAMESPACE, GmdConstants.GMD_LOCAL_NAME, GmdConstants.GMD_PREFIX));
    drt.setTypeName(typeNames);
    DescribeRecordResponseType drrt = null;
    try {
        drrt = csw.describeRecord(drt);
    } catch (CswException e) {
        fail("CswException caught during describeRecord POST request: " + e.getMessage());
    }
    assertThat(drrt, notNullValue());
    assertThat(drrt.getSchemaComponent(), notNullValue());
    List<SchemaComponentType> schemaComponents = drrt.getSchemaComponent();
    assertThat(schemaComponents.size(), is(1));
}
Also used : DescribeRecordType(net.opengis.cat.csw.v_2_0_2.DescribeRecordType) SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) QName(javax.xml.namespace.QName) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) ArrayList(java.util.ArrayList) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) Test(org.junit.Test)

Example 9 with DescribeRecordResponseType

use of net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType in project ddf by codice.

the class TestCswEndpoint method testDescribeRecordMultipleTypesMultipleNamespacesNominal.

@Test
public void testDescribeRecordMultipleTypesMultipleNamespacesNominal() {
    DescribeRecordRequest drr = createDefaultDescribeRecordRequest();
    drr.setTypeName(VALID_PREFIX_LOCAL_TYPE + ",csw:test");
    drr.setNamespace("xmlns(" + VALID_PREFIX + "=" + CswConstants.CSW_OUTPUT_SCHEMA + ")");
    DescribeRecordResponseType drrt = null;
    try {
        drrt = csw.describeRecord(drr);
    } catch (CswException e) {
        fail("DescribeRecord failed with message '" + e.getMessage() + "'");
    }
    assertThat(drrt, notNullValue());
    assertThat(drrt.getSchemaComponent(), notNullValue());
    List<SchemaComponentType> schemaComponents = drrt.getSchemaComponent();
    assertThat(schemaComponents.size(), is(1));
}
Also used : SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) DescribeRecordRequest(org.codice.ddf.spatial.ogc.csw.catalog.common.DescribeRecordRequest) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) Test(org.junit.Test)

Example 10 with DescribeRecordResponseType

use of net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType in project ddf by codice.

the class TestCswEndpoint method testPostDescribeRecordValidSchemaLanguage.

@Test
public void testPostDescribeRecordValidSchemaLanguage() {
    DescribeRecordType drt = createDefaultDescribeRecordType();
    List<QName> typeNames = new ArrayList<>();
    typeNames.add(new QName(CswConstants.CSW_OUTPUT_SCHEMA, VALID_TYPE, VALID_PREFIX));
    drt.setTypeName(typeNames);
    drt.setSchemaLanguage(CswConstants.SCHEMA_LANGUAGE_X_SCHEMA);
    DescribeRecordResponseType drrt = null;
    try {
        drrt = csw.describeRecord(drt);
    } catch (CswException e) {
        fail("DescribeRecord failed with message '" + e.getMessage() + "'");
    }
    assertThat(drrt, notNullValue());
    assertThat(drrt.getSchemaComponent(), notNullValue());
    List<SchemaComponentType> schemaComponents = drrt.getSchemaComponent();
    assertThat(schemaComponents.size(), is(1));
}
Also used : DescribeRecordType(net.opengis.cat.csw.v_2_0_2.DescribeRecordType) SchemaComponentType(net.opengis.cat.csw.v_2_0_2.SchemaComponentType) QName(javax.xml.namespace.QName) DescribeRecordResponseType(net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType) ArrayList(java.util.ArrayList) CswException(org.codice.ddf.spatial.ogc.csw.catalog.common.CswException) Test(org.junit.Test)

Aggregations

DescribeRecordResponseType (net.opengis.cat.csw.v_2_0_2.DescribeRecordResponseType)18 Test (org.junit.Test)17 CswException (org.codice.ddf.spatial.ogc.csw.catalog.common.CswException)13 SchemaComponentType (net.opengis.cat.csw.v_2_0_2.SchemaComponentType)12 DescribeRecordRequest (org.codice.ddf.spatial.ogc.csw.catalog.common.DescribeRecordRequest)10 ArrayList (java.util.ArrayList)7 QName (javax.xml.namespace.QName)6 DescribeRecordType (net.opengis.cat.csw.v_2_0_2.DescribeRecordType)6 StringWriter (java.io.StringWriter)1 JAXBContext (javax.xml.bind.JAXBContext)1 JAXBElement (javax.xml.bind.JAXBElement)1 JAXBException (javax.xml.bind.JAXBException)1 Marshaller (javax.xml.bind.Marshaller)1