code: private Map<VectorLayer, Filter> dtoAttributeCriterionToFilters(AttributeCriterion criterion)
  			throws GeomajasException {
  		Map<VectorLayer, Filter> filters = new LinkedHashMap<VectorLayer, Filter>();
  		Filter f;
  		VectorLayer l = configurationService.getVectorLayer(criterion.getServerLayerId());
  		if (l == null) {
  			throw new GeomajasException(ExceptionCode.LAYER_NOT_FOUND, criterion.getServerLayerId());
  		}
  
  		String operator = criterion.getOperator();
  		if ("LIKE".equals(operator.toUpperCase())) {
  			f = filterService.createLikeFilter(criterion.getAttributeName(), criterion.getValue());
  		} else if ("DURING".equals(operator.toUpperCase()) || "BEFORE".equals(operator.toUpperCase())
  				|| "AFTER".equals(operator.toUpperCase())) {
  			f = filterService.parseFilter(criterion.toString()); // In case of a date filter
  		} else {
  			f = filterService.createCompareFilter(criterion.getAttributeName(), criterion.getOperator(),
  					criterion.getValue());
  		}
  
  		filters.put(l, f);
  		return filters;
  	}
docs: -------------------------------------------------