Java源码示例:org.opengis.filter.temporal.BegunBy

示例1
@Test
public void testBegunBy() 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);

    BegunBy filter = ff.begunBy(ff.literal(period), ff.property("dateAttr"));
    Map<String,Object> expected = ImmutableMap.of("term",
            ImmutableMap.of("dateAttr", "1970-07-19T01:02:03.456Z"));

    builder.visit(filter, null);
    assertTrue(builder.createCapabilities().fullySupports(filter));
    assertEquals(expected, builder.getQueryBuilder());
}
 
示例2
@Override
public Object visit(final BegunBy begunBy, final Object data) {
  final TemporalConstraints leftResult =
      (TemporalConstraints) begunBy.getExpression1().accept(this, data);

  final TemporalConstraints rightResult =
      (TemporalConstraints) begunBy.getExpression2().accept(this, data);
  if (leftResult.isEmpty() || rightResult.isEmpty()) {
    return new TemporalConstraints();
  }

  // property begun by value
  if (leftResult instanceof ParameterTimeConstraint) {
    return new ParameterTimeConstraint(
        new TemporalRange(
            rightResult.getMinOr(TemporalRange.START_TIME, 0),
            TemporalRange.END_TIME),
        leftResult.getName());
  } else if (rightResult instanceof ParameterTimeConstraint) {
    return new ParameterTimeConstraint(leftResult.getRanges(), rightResult.getName());
  }
  // property begins property
  return new TemporalConstraints();
}
 
示例3
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);
}
 
示例4
@Override
public Object visit(final BegunBy begunBy, final Object extraData) {
  if (!usesProperty(begunBy)) {
    return Filter.INCLUDE;
  }
  return super.visit(begunBy, extraData);
}
 
示例5
@Override
public Object visit(final BegunBy begunBy, final Object extraData) {
  if (!usesProperty(begunBy)) {
    return Filter.INCLUDE;
  }
  return super.visit(begunBy, extraData);
}
 
示例6
public Object visit(BegunBy begunBy, Object extraData) {
    return visit((BinaryTemporalOperator)begunBy, BegunBy.NAME);
}
 
示例7
public Object visit(BegunBy begunBy, Object extraData) {
    return visitBinaryTemporalOperator(begunBy, extraData);
}
 
示例8
/** {@inheritDoc} */
@Override
public Object visit(BegunBy begunBy, Object extraData) {
	throw new UnsupportedOperationException("visit(Object userData)");
}