use of ddf.catalog.data.impl.MetacardImpl in project ddf by codice.
the class PredicateTest method testTemporal.
@Test
public void testTemporal() throws Exception {
String methodName = "testTemporal";
LOGGER.debug("*************** START: {} *****************", methodName);
MockQuery query = new MockQuery();
DatatypeFactory df = DatatypeFactory.newInstance();
XMLGregorianCalendar start = df.newXMLGregorianCalendarDate(2011, 10, 25, 0);
XMLGregorianCalendar end = df.newXMLGregorianCalendarDate(2011, 10, 27, 0);
query.addTemporalFilter(start, end, Metacard.EFFECTIVE);
SubscriptionFilterVisitor visitor = new SubscriptionFilterVisitor();
Predicate pred = (Predicate) query.getFilter().accept(visitor, null);
LOGGER.debug("Resulting Predicate: {}", pred);
Filter filter = query.getFilter();
FilterTransformer transform = new FilterTransformer();
transform.setIndentation(2);
String filterXml = transform.transform(filter);
LOGGER.debug(filterXml);
// input that passes temporal
LOGGER.debug("\npass temporal.\n");
MetacardImpl metacard = new MetacardImpl();
metacard.setCreatedDate(new Date());
metacard.setExpirationDate(new Date());
metacard.setModifiedDate(new Date());
metacard.setMetadata(TestDataLibrary.getCatAndDogEntry());
XMLGregorianCalendar cal = df.newXMLGregorianCalendarDate(2011, 10, 26, 0);
Date effectiveDate = cal.toGregorianCalendar().getTime();
metacard.setEffectiveDate(effectiveDate);
HashMap<String, Object> properties = new HashMap<>();
properties.put(PubSubConstants.HEADER_OPERATION_KEY, PubSubConstants.CREATE);
Map<String, Object> contextualMap = constructContextualMap(metacard);
properties.put(PubSubConstants.HEADER_CONTEXTUAL_KEY, contextualMap);
// Above Pulled from PubSubProviderImpl
properties.put(PubSubConstants.HEADER_ENTRY_KEY, metacard);
Event testEvent = new Event("topic", properties);
boolean b = pred.matches(testEvent);
assertTrue(b);
// input that fails temporal
LOGGER.debug("\nfail temporal. fail content type.\n");
// time out of
XMLGregorianCalendar cal1 = df.newXMLGregorianCalendarDate(2012, 10, 30, 0);
// range
Date effectiveDate1 = cal1.toGregorianCalendar().getTime();
metacard.setEffectiveDate(effectiveDate1);
LOGGER.debug("metacard date: {}", metacard.getEffectiveDate());
properties.clear();
properties.put(PubSubConstants.HEADER_OPERATION_KEY, PubSubConstants.CREATE);
properties.put(PubSubConstants.HEADER_CONTEXTUAL_KEY, contextualMap);
properties.put(PubSubConstants.HEADER_ENTRY_KEY, metacard);
testEvent = new Event("topic", properties);
assertFalse(pred.matches(testEvent));
LOGGER.debug("*************** END: {} *****************", methodName);
}
use of ddf.catalog.data.impl.MetacardImpl in project ddf by codice.
the class TestMetacardGroomerPlugin method getStandardMetacard.
private Metacard getStandardMetacard(String id) {
DateTime currentDate = new DateTime();
Date defaultDate = currentDate.minusMinutes(1).toDate();
MetacardImpl metacard = new MetacardImpl(getHybridMetacardType());
if (id != null) {
metacard.setId(id);
}
metacard.setTitle(DEFAULT_TITLE);
metacard.setCreatedDate(defaultDate);
metacard.setAttribute(new AttributeImpl(Core.METACARD_CREATED, defaultDate));
metacard.setEffectiveDate(defaultDate);
metacard.setExpirationDate(defaultDate);
metacard.setModifiedDate(defaultDate);
metacard.setAttribute(new AttributeImpl(Core.METACARD_MODIFIED, defaultDate));
metacard.setMetadata(DEFAULT_METADATA);
metacard.setContentTypeName(DEFAULT_TYPE);
metacard.setContentTypeVersion(DEFAULT_VERSION);
metacard.setLocation(DEFAULT_LOCATION);
byte[] defaultBytes = { -86 };
metacard.setThumbnail(defaultBytes);
return metacard;
}
use of ddf.catalog.data.impl.MetacardImpl in project ddf by codice.
the class TestPubSubOgcFilter method testMetacardFeatureEvaluate.
public void testMetacardFeatureEvaluate() {
MetacardImpl metacard = new MetacardImpl();
metacard.setCreatedDate(new Date());
metacard.setEffectiveDate(new Date(1323655067L));
metacard.setExpirationDate(new Date(32533495067L));
metacard.setLocation("POINT(-112 25)");
metacard.setSourceId("mts_site_1");
metacard.setTitle("Metacard Title");
metacard.setModifiedDate(new Date(1319075867L));
metacard.setId("ABC123");
metacard.setContentTypeName("MetacardType");
Feature feature = convertMetacardToFeature(metacard);
// TODO: test this feature metacard against an OGC Filter
assertTrue(true);
}
use of ddf.catalog.data.impl.MetacardImpl in project ddf by codice.
the class AttributeInjectorImpl method changeMetacardType.
private Metacard changeMetacardType(Metacard original, MetacardType newMetacardType) {
MetacardImpl newMetacard = new MetacardImpl(original);
newMetacard.setType(newMetacardType);
newMetacard.setSourceId(original.getSourceId());
return newMetacard;
}
use of ddf.catalog.data.impl.MetacardImpl in project ddf by codice.
the class TestMetacardResourceSizePlugin method testWhenNoCachedResourceFound.
@Test
public void testWhenNoCachedResourceFound() throws Exception {
ResourceCacheInterface cache = mock(ResourceCacheInterface.class);
when(cache.getValid(anyString(), (Metacard) anyObject())).thenReturn(null);
MetacardImpl metacard = new MetacardImpl();
metacard.setId("abc123");
metacard.setSourceId("ddf-1");
metacard.setResourceSize("N/A");
Result result = new ResultImpl(metacard);
List<Result> results = new ArrayList<Result>();
results.add(result);
QueryResponse input = mock(QueryResponse.class);
when(input.getResults()).thenReturn(results);
MetacardResourceSizePlugin plugin = new MetacardResourceSizePlugin(cache);
QueryResponse queryResponse = plugin.process(input);
assertThat(queryResponse.getResults().size(), is(1));
Metacard resultMetacard = queryResponse.getResults().get(0).getMetacard();
assertThat(metacard, is(notNullValue()));
// Since using Metacard vs. MetacardImpl have to get resource-size as an
// Attribute vs. Long
Attribute resourceSizeAttr = resultMetacard.getAttribute(Metacard.RESOURCE_SIZE);
assertThat((String) resourceSizeAttr.getValue(), equalTo("N/A"));
}
Aggregations