List of usage examples for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil sqlRestriction
public static Criterion sqlRestriction(String sql)
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.MasterCandidateLocalServiceImpl.java
License:Open Source License
public List<MasterCandidate> getFilterdCandidates(String searchstring, String country, String type, String state, String source) throws SystemException { if (country.equals("all")) { country = ""; }/*from w ww .j a v a 2 s.c o m*/ if (type.equals("all")) { type = ""; } else { if (type.equals("Registry")) type = "Registr"; } if (state.equals("all")) { state = ""; } if (source.equals("all")) { source = ""; } List<MasterCandidate> mastercandidate = null; try { // Dynamic Query for search DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(MasterCandidateImpl.class); Criterion criterion = null; Criterion criterion_stringsearch_grouped = null; String[] searchstringarray = searchstring.split(" "); for (String searchstringsplit : searchstringarray) { Criterion criterion_stringsearch = RestrictionsFactoryUtil.ilike("diseasesfreetext", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("diseasescodes", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("name", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("candidatesubtype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("country", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("candidatetype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("url", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("contactperson", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("comment", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("address", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("mail", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("head", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); try { long searchlong = Long.valueOf(searchstringsplit); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil.eq("masterCandidateId", searchlong)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil.eq("organisationid", searchlong)); } catch (Exception e) { } if (criterion_stringsearch_grouped == null) { criterion_stringsearch_grouped = criterion_stringsearch; } else { criterion_stringsearch_grouped = RestrictionsFactoryUtil.or(criterion_stringsearch_grouped, criterion_stringsearch); } } criterion = RestrictionsFactoryUtil.ilike("country", StringPool.PERCENT + country + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("candidatetype", StringPool.PERCENT + type + StringPool.PERCENT)); criterion = RestrictionsFactoryUtil.and(criterion, criterion_stringsearch_grouped); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + state + StringPool.PERCENT)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE 'x'")); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE '0'")); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("source", StringPool.PERCENT + source + StringPool.PERCENT)); dynamicQuery.add(criterion); Order countryOrder = OrderFactoryUtil.asc("country"); Order joinIdOrder = OrderFactoryUtil.asc("joinId"); Order nameOrder = OrderFactoryUtil.asc("name"); dynamicQuery.addOrder(countryOrder); dynamicQuery.addOrder(joinIdOrder); dynamicQuery.addOrder(nameOrder); mastercandidate = MasterCandidateLocalServiceUtil.dynamicQuery(dynamicQuery); } catch (Exception e) { e.printStackTrace(); } return mastercandidate; }