public static QueryParameter<Date> formatDate(String strDate) { if (StringUtils.isBlank(strDate)) { return null; } QueryParameter<Date> queryParameter = null; if (strDate.startsWith(">=")) { String date = strDate.replaceAll(">=", ""); queryParameter = QueryParameterFactory.getGreaterThanEqualToPropertyParam( "greaterOrEqual", new Date(Long.parseLong(date))); } else if (strDate.startsWith("<=")) { String date = strDate.replaceAll("<=", ""); queryParameter = QueryParameterFactory.getLesserThanEqualToPropertyParam( "lessOrEqual", new Date(Long.parseLong(date))); } else if (strDate.startsWith("<")) { String date = strDate.replace("<", ""); queryParameter = QueryParameterFactory.getLesserThanPropertyParam( "lessThan", new Date(Long.parseLong(date))); } else if (strDate.startsWith(">")) { String date = strDate.replace(">", ""); queryParameter = QueryParameterFactory.getGreaterThanPropertyParam( "greaterThan", new Date(Long.parseLong(date))); } else if (strDate.contains(",")) { String[] date = strDate.split(","); queryParameter = QueryParameterFactory.getBetweenPropertyParam( "between", new Date(Long.parseLong(date[0])), new Date(Long.parseLong(date[1]))); } else { queryParameter = null; } return queryParameter; }
private QueryParameter[] parseFieldQuery(List<String> strFieldQuery) { Collection<QueryParameter> parseQuery = new ArrayList<QueryParameter>(); for (String strSingleFieldQuery : strFieldQuery) { if (StringUtils.isBlank(strSingleFieldQuery)) { continue; } if (logger.isDebugEnabled()) { logger.debug(":::FIELD QUERY : " + strSingleFieldQuery); } String[] values = splitStr(strSingleFieldQuery, ","); if (values.length < 2) { continue; } parseQuery.add(QueryParameterFactory.getStringLikePropertyParam(values[0], values[1])); } QueryParameter[] parsedQueryParameter = parseQuery.toArray(new QueryParameter[parseQuery.size()]); return parsedQueryParameter; }