SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); try { f.setValue(sdf.parse(value)); } catch (ParseException e) { throw new InternalErrorServiceEx("Error parsing attribute date value"); f.setValue(Long.parseLong(value)); } catch (NumberFormatException e) { throw new InternalErrorServiceEx("Error parsing attribute long value"); f.setValue(value);
/** * Modify the search by adding the given filters using OR semantics */ public static void mergeFiltersOr(IMutableSearch search, List<Filter> filters) { List<Filter> list = search.getFilters(); if (list == null) { list = new ArrayList<Filter>(); search.setFilters(list); } if (list.size() == 0 || search.isDisjunction()) { search.setDisjunction(true); list.addAll(filters); } else { search.setFilters(new ArrayList<Filter>()); // add the previous filters with an AND Filter orFilter = Filter.and(); orFilter.setValue(list); addFilter(search, orFilter); // add the new filters with or search.setDisjunction(true); search.getFilters().addAll(filters); } }
/** * Modify the search by adding the given filters using AND semantics */ public static void mergeFiltersAnd(IMutableSearch search, List<Filter> filters) { List<Filter> list = search.getFilters(); if (list == null) { list = new ArrayList<Filter>(); search.setFilters(list); } if (list.size() == 0 || !search.isDisjunction()) { search.setDisjunction(false); list.addAll(filters); } else { search.setFilters(new ArrayList<Filter>()); // add the previous filters with an OR Filter orFilter = Filter.or(); orFilter.setValue(list); addFilter(search, orFilter); // add the new filters with AND search.setDisjunction(false); search.getFilters().addAll(filters); } }
/** * This is a leaf filter. * * @throws InternalErrorServiceEx */ @Override public void visit(CategoryFilter filter) throws InternalErrorServiceEx { CategoryFilter.checkOperator(filter.getOperator()); Integer op = ops_rest_trg.get(filter.getOperator()); if (op == null) { throw new IllegalStateException("Unknown op " + filter.getOperator()); } Filter f = new Filter(); f.setOperator(op); f.setProperty("category.name"); f.setValue(filter.getName()); trgFilter = f; }