org.opengis.filter.temporal.During Java Examples

The following examples show how to use org.opengis.filter.temporal.During. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ElasticFilterTest.java    From elasticgeo with GNU General Public License v3.0 6 votes vote down vote up
@Test
public void testDuring() throws ParseException {
    Date date1 = dateFormat.parse("1970-07-19T01:02:03.456Z");
    Instant temporalInstant = new DefaultInstant(new DefaultPosition(date1));
    Date date2 = dateFormat.parse("1970-07-19T07:08:09.101Z");
    Instant temporalInstant2 = new DefaultInstant(new DefaultPosition(date2));
    Period period = new DefaultPeriod(temporalInstant, temporalInstant2);

    During filter = ff.during(ff.property("dateAttr"), ff.literal(period));
    Map<String,Object> expected = ImmutableMap.of("range", ImmutableMap.of("dateAttr", 
            ImmutableMap.of("gt", "1970-07-19T01:02:03.456Z", "lt", "1970-07-19T07:08:09.101Z")));

    builder.visit(filter, null);
    assertTrue(builder.createCapabilities().fullySupports(filter));
    assertEquals(expected, builder.getQueryBuilder());
}
 
Example #2
Source File: ExtractTimeFilterVisitor.java    From geowave with Apache License 2.0 6 votes vote down vote up
@Override
public Object visit(final During during, final Object data) {
  final TemporalConstraints leftResult =
      (TemporalConstraints) during.getExpression1().accept(this, data);

  final TemporalConstraints rightResult =
      (TemporalConstraints) during.getExpression2().accept(this, data);

  if (leftResult.isEmpty() || rightResult.isEmpty()) {
    return new TemporalConstraints();
  }

  // property during value
  if (leftResult instanceof ParameterTimeConstraint) {
    return new ParameterTimeConstraint(rightResult.getRanges(), leftResult.getName());
  }
  // value during property
  else if (rightResult instanceof ParameterTimeConstraint) {
    return rightResult;
  }
  // property during property
  return new TemporalConstraints();
}
 
Example #3
Source File: ElasticCapabilities.java    From elasticgeo with GNU General Public License v3.0 5 votes vote down vote up
public ElasticCapabilities() {
    super(new ElasticFilterCapabilities());

    addAll(LOGICAL_OPENGIS);
    addAll(SIMPLE_COMPARISONS_OPENGIS);
    addType(PropertyIsNull.class);
    addType(PropertyIsBetween.class);
    addType(Id.class);
    addType(IncludeFilter.class);
    addType(ExcludeFilter.class);
    addType(PropertyIsLike.class);

    // spatial filters
    addType(BBOX.class);
    addType(Contains.class);
    //addType(Crosses.class);
    addType(Disjoint.class);
    //addType(Equals.class);
    addType(Intersects.class);
    //addType(Overlaps.class);
    //addType(Touches.class);
    addType(Within.class);
    addType(DWithin.class);
    addType(Beyond.class);

    //temporal filters
    addType(After.class);
    addType(Before.class);
    addType(Begins.class);
    addType(BegunBy.class);
    addType(During.class);
    addType(Ends.class);
    addType(EndedBy.class);
    addType(TContains.class);
    addType(TEquals.class);
}
 
Example #4
Source File: PropertyIgnoringFilterVisitor.java    From geowave with Apache License 2.0 5 votes vote down vote up
@Override
public Object visit(final During during, final Object extraData) {
  if (!usesProperty(during)) {
    return Filter.INCLUDE;
  }
  return super.visit(during, extraData);
}
 
Example #5
Source File: PropertyIgnoringFilterVisitor.java    From geowave with Apache License 2.0 5 votes vote down vote up
@Override
public Object visit(final During during, final Object extraData) {
  if (!usesProperty(during)) {
    return Filter.INCLUDE;
  }
  return super.visit(during, extraData);
}
 
Example #6
Source File: CriteriaVisitor.java    From geomajas-project-server with GNU Affero General Public License v3.0 5 votes vote down vote up
/** {@inheritDoc} */
@Override
public Object visit(During during, Object userData) {
	String propertyName = getPropertyName(during.getExpression1());
	String finalName = parsePropertyName(propertyName, userData);
	Object literal = getLiteralValue(during.getExpression2());
	if (literal instanceof Period) {
		Period p = (Period) literal;
		Date begin = p.getBeginning().getPosition().getDate();
		Date end = p.getEnding().getPosition().getDate();
		return Restrictions.between(finalName, begin, end);
	} else {
		throw new UnsupportedOperationException("visit(Object userData)");
	}
}
 
Example #7
Source File: CriteriaVisitorTest.java    From geomajas-project-server with GNU Affero General Public License v3.0 5 votes vote down vote up
@Test
public void testVisitDuring() throws GeomajasException {
	Filter f = filterService.parseFilter("myDate DURING 2006-11-30T00:30:00Z/2006-11-30T01:30:00Z");
	Criterion c = (Criterion) (new CriteriaVisitor((HibernateFeatureModel) layer.getFeatureModel(),
			DateFormat.getDateTimeInstance()).visit((During) f, null));
	Date from = ISODateTimeFormat.dateTimeNoMillis().parseDateTime("2006-11-30T00:30:00Z").toDate();
	Date to = ISODateTimeFormat.dateTimeNoMillis().parseDateTime("2006-11-30T01:30:00Z").toDate();
	Assert.assertEquals("myDate between " + from + " and " + to, c.toString());
}
 
Example #8
Source File: FilterToElastic.java    From elasticgeo with GNU General Public License v3.0 4 votes vote down vote up
public Object visit(During during, Object extraData) {
    return visitBinaryTemporalOperator(during, extraData);
}