use of ddf.catalog.data.MetacardType in project ddf by codice.
the class TestGenericFeatureConverter method testMetacardCollectionToFeatureCollectionXml.
@Test
public void testMetacardCollectionToFeatureCollectionXml() {
XStream xstream = new XStream(new EnhancedStaxDriver());
xstream.setMode(XStream.NO_REFERENCES);
xstream.registerConverter(new FeatureCollectionConverterWfs10());
xstream.registerConverter(new GenericFeatureConverter());
xstream.registerConverter(new GmlGeometryConverter());
// Required the Implementing class. The interface would not work...
xstream.alias("wfs:FeatureCollection", WfsFeatureCollection.class);
Metacard mc = new SampleMetacard().getMetacard();
WfsFeatureCollection wfc = new WfsFeatureCollection();
wfc.getFeatureMembers().add(mc);
MetacardImpl mc2 = new SampleMetacard().getMetacard();
// Ignore the hack stuff, this was just to imitate having two different
// "MetacardTypes"
mc2.setType(new MetacardType() {
@Override
public String getName() {
return "otherType";
}
@Override
public Set<AttributeDescriptor> getAttributeDescriptors() {
return BasicTypes.BASIC_METACARD.getAttributeDescriptors();
}
@Override
public AttributeDescriptor getAttributeDescriptor(String arg0) {
return BasicTypes.BASIC_METACARD.getAttributeDescriptor(arg0);
}
});
wfc.getFeatureMembers().add(mc2);
xstream.toXML(wfc);
}
use of ddf.catalog.data.MetacardType in project ddf by codice.
the class TestGenericFeatureConverter method testUnmarshalSingleFeatureXmlToObject.
@Test
//DDF-733
@Ignore
public void testUnmarshalSingleFeatureXmlToObject() {
XStream xstream = new XStream(new WstxDriver());
MetacardType metacardType = buildMetacardType();
GenericFeatureConverter converter = new GenericFeatureConverter();
converter.setMetacardType(buildMetacardType());
converter.setSourceId(SOURCE_ID);
xstream.registerConverter(converter);
xstream.registerConverter(new GmlGeometryConverter());
xstream.alias(FEATURE_TYPE, MetacardImpl.class);
InputStream is = TestGenericFeatureConverter.class.getResourceAsStream("/video_data_set_1.xml");
Metacard mc = (Metacard) xstream.fromXML(is);
assertThat(mc.getId(), is("video_data_set.2"));
assertThat(mc.getContentTypeName(), is(FEATURE_TYPE));
assertThat(mc.getMetacardType().getName(), is(metacardType.getName()));
assertThat(mc.getSourceId(), is(SOURCE_ID));
assertThat(mc.getAttribute(Core.TITLE).getValue(), is("video_data_set.2"));
assertThat(mc.getAttribute(PROPERTY_PREFIX + ID_ELEMENT).getValue(), is(2L));
assertThat(mc.getAttribute(PROPERTY_PREFIX + VERSION_ELEMENT).getValue(), is(1L));
assertThat(mc.getAttribute(PROPERTY_PREFIX + END_DATE_ELEMENT).getValue(), is(DatatypeConverter.parseDateTime("2005-04-07T09:54:38.983").getTime()));
assertThat(mc.getAttribute(PROPERTY_PREFIX + FILENAME_ELEMENT).getValue(), is("/data/test_suite/video/video/videoFile.mpg"));
assertThat(mc.getAttribute(PROPERTY_PREFIX + HEIGHT_ELEMENT).getValue(), is(720L));
assertThat(mc.getAttribute(PROPERTY_PREFIX + INDEX_ID_ELEMENT).getValue(), is("a8a55092f0afae881099637ef7746cd8d7066270d9af4cf0f52c41dab53c4005"));
assertThat(mc.getAttribute(PROPERTY_PREFIX + OTHER_TAGS_XML_ELEMENT).getValue(), is(getOtherTagsXml()));
assertThat(mc.getAttribute(PROPERTY_PREFIX + REPOSITORY_ID_ELEMENT).getValue(), is(26L));
assertThat(mc.getAttribute(PROPERTY_PREFIX + START_DATE_ELEMENT).getValue(), is(DatatypeConverter.parseDateTime("2005-04-07T09:53:39.000").getTime()));
assertThat(mc.getAttribute(PROPERTY_PREFIX + WIDTH_ELEMENT).getValue(), is(1280L));
assertThat(mc.getAttribute(Core.LOCATION).getValue(), is(getLocation()));
assertThat(mc.getAttribute(PROPERTY_PREFIX + GROUND_GEOM_ELEMENT).getValue(), is(mc.getLocation()));
assertThat(mc.getEffectiveDate(), notNullValue());
assertThat(mc.getAttribute(Core.CREATED), notNullValue());
assertThat(mc.getAttribute(Core.MODIFIED), notNullValue());
assertThat(mc.getContentTypeNamespace(), notNullValue());
assertThat(mc.getContentTypeNamespace().toString(), is(WfsConstants.NAMESPACE_URN_ROOT + metacardType.getName()));
}
use of ddf.catalog.data.MetacardType in project ddf by codice.
the class TestGeoJsonMetacardTransformer method testWithMultiValueAttributes.
@Test
public void testWithMultiValueAttributes() throws Exception {
Set<AttributeDescriptor> descriptors = new HashSet(BasicTypes.BASIC_METACARD.getAttributeDescriptors());
descriptors.add(new AttributeDescriptorImpl("multi-string", true, true, false, true, /* multivalued */
BasicTypes.STRING_TYPE));
MetacardType type = new MetacardTypeImpl("multi", descriptors);
MetacardImpl metacard = new MetacardImpl(type);
metacard.setAttribute("multi-string", (Serializable) Arrays.asList("foo", "bar"));
GeoJsonMetacardTransformer transformer = new GeoJsonMetacardTransformer();
BinaryContent content = transformer.transform(metacard, null);
String jsonText = new String(content.getByteArray());
JSONObject json = (JSONObject) PARSER.parse(jsonText);
Map properties = (Map) json.get("properties");
List<String> strings = (List<String>) properties.get("multi-string");
assertThat(strings.get(0), is("foo"));
assertThat(strings.get(1), is("bar"));
}
use of ddf.catalog.data.MetacardType in project ddf by codice.
the class TestMetacardTypeAdapter method testUnmarshalWithNullRegisteredMetacardTypes.
@Test
public void testUnmarshalWithNullRegisteredMetacardTypes() throws CatalogTransformerException {
MetacardTypeAdapter metacardTypeAdpater = new MetacardTypeAdapter(NULL_METACARD_TYPES_LIST);
MetacardType metacardType = metacardTypeAdpater.unmarshal(UNKNOWN_TYPE_NAME);
assertThat(metacardType.getName(), is(BasicTypes.BASIC_METACARD.getName()));
}
use of ddf.catalog.data.MetacardType in project ddf by codice.
the class TestXmlResponseQueueTransformer method getMetacardTypeStub.
/**
* @return
*/
private MetacardType getMetacardTypeStub(String name, Set<AttributeDescriptor> descriptors) {
MetacardType type = mock(MetacardType.class);
when(type.getName()).thenReturn(name);
when(type.getAttributeDescriptors()).thenReturn(descriptors);
return type;
}
Aggregations