/** * Please note we are only visiting literals involved in spatial operations. * * @param literal , hopefully a Geometry or Envelope * @param data Incoming BoundingBox (or Envelope or CRS) * @return ReferencedEnvelope updated to reflect literal */ @Override public Object visit(final Literal expression, final Object data) { final Object value = expression.getValue(); return btime(value); }
return btime(convertedDate);
@Override public Object visit(final After after, final Object data) { final TemporalConstraints leftResult = btime(after.getExpression1().accept(this, data)); final TemporalConstraints rightResult = btime(after.getExpression2().accept(this, data)); if (leftResult.isEmpty() || rightResult.isEmpty()) { return new TemporalConstraints(); } // property after value if (leftResult instanceof ParameterTimeConstraint) { return new ParameterTimeConstraint( new TemporalRange( rightResult.getMaxOr(TemporalRange.START_TIME, 1), TemporalRange.END_TIME), leftResult.getName()); } else if (rightResult instanceof ParameterTimeConstraint) { return new ParameterTimeConstraint( new TemporalRange( TemporalRange.START_TIME, leftResult.getMinOr(TemporalRange.END_TIME, -1)), rightResult.getName()); } // property after property return new TemporalConstraints(); }
@Override public Object visit(final Before before, final Object data) { final TemporalConstraints leftResult = btime(before.getExpression1().accept(this, data)); final TemporalConstraints rightResult = btime(before.getExpression2().accept(this, data)); if (leftResult.isEmpty() || rightResult.isEmpty()) { return new TemporalConstraints(); } // property before value if (leftResult instanceof ParameterTimeConstraint) { return new ParameterTimeConstraint( new TemporalRange( TemporalRange.START_TIME, rightResult.getMinOr(TemporalRange.END_TIME, -1)), leftResult.getName()); } else if (rightResult instanceof ParameterTimeConstraint) { return new ParameterTimeConstraint( new TemporalRange( leftResult.getMaxOr(TemporalRange.START_TIME, 1), TemporalRange.END_TIME), rightResult.getName()); } // property after property return new TemporalConstraints(); }