List of usage examples for com.liferay.portal.kernel.dao.orm DynamicQuery add
public DynamicQuery add(Criterion criterion);
From source file:at.graz.hmmc.liferay.portlet.puch.service.impl.TransaktionLocalServiceImpl.java
License:Open Source License
/** * //from w ww. j av a 2s .co m */ public Transaktion getLastTransactionOfType(long puchmuseumsobjectId, String transactiontype) { try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Transaktion.class); Criterion criterion = RestrictionsFactoryUtil.eq("puchmuseumsobjectId", puchmuseumsobjectId); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("typ", transactiontype)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.isNull("endDate")); dynamicQuery.add(criterion); Order order = OrderFactoryUtil.desc("startDate"); dynamicQuery.addOrder(order); List<Transaktion> transactions = TransaktionLocalServiceUtil.dynamicQuery(dynamicQuery); if (transactions != null) { if (transactions.size() != 0) { return transactions.get(0); } } } catch (Exception ex) { System.err.println("[" + date_format_apache_error.format(new Date()) + "] [error] [PuchMuseum-portlet::at.graz.hmmc.liferay.portlet.puch.service.impl.TransaktionLocalServiceImpl::getLastTransactionOfType] Error getting Transaktion."); ex.printStackTrace(); } return null; }
From source file:at.graz.meduni.liferay.portlet.bibbox.kdssmp.service.model.impl.KdssmpPatientImpl.java
License:Open Source License
public Event getLastEventOfType(String eventtype) { DynamicQuery dynamicQuery = EventLocalServiceUtil.dynamicQuery(); Criterion criterion = RestrictionsFactoryUtil.ilike("eventtype", eventtype); dynamicQuery.add(criterion); dynamicQuery.addOrder(OrderFactoryUtil.desc("eventdate")); try {/*from ww w . ja v a2 s . co m*/ List<Event> events = EventLocalServiceUtil.dynamicQuery(dynamicQuery); if (events.size() > 1) { return events.get(0); } } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
From source file:at.graz.meduni.liferay.portlet.bibbox.service.impl.OrganizationSearchIndexLocalServiceImpl.java
License:Open Source License
/** * //from ww w . j av a 2 s. c om */ public List<Long> getOrganizationIdByKeywordAndValue(String key, String value) { value = value.trim(); List<Long> returnvalue = new ArrayList<Long>(); try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(OrganizationSearchIndex.class); Criterion criterion = RestrictionsFactoryUtil.ilike("searchvalue", StringPool.PERCENT + value + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("key", key)); dynamicQuery.add(criterion); Order order_organisationid = OrderFactoryUtil.asc("organisationid"); dynamicQuery.addOrder(order_organisationid); List<OrganizationSearchIndex> serachresults = OrganizationSearchIndexLocalServiceUtil .dynamicQuery(dynamicQuery); for (OrganizationSearchIndex serachresult : serachresults) { if (!returnvalue.contains(serachresult.getOrganisationid())) { returnvalue.add(serachresult.getOrganisationid()); } } } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnvalue; }
From source file:at.graz.meduni.liferay.portlet.bibbox.service.service.impl.InvitationOrganisationLocalServiceImpl.java
License:Open Source License
/** * @throws SystemException /*from ww w.j a va 2s .c om*/ */ public List<InvitationOrganisation> getInvitationOrganisationByStatus(boolean rejacted) throws SystemException { /*DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(Invitation.class, "subQuery", PortalClassLoaderUtil.getClassLoader()) .setProjection(ProjectionFactoryUtil.property("subQuery.invitationId")) .add(PropertyFactoryUtil.forName("subQuery.invitationId").eqProperty("answerdQuery.invitationId")) .add(PropertyFactoryUtil.forName("subQuery.invitationsend").isNotNull()); DynamicQuery answerdQuery = DynamicQueryFactoryUtil.forClass(InvitationOrganisation.class, "answerdQuery", PortalClassLoaderUtil.getClassLoader()) .add(PropertyFactoryUtil.forName("subQuery.invitationId").eq(subQuery));*/ DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(InvitationOrganisation.class); Criterion criterion = null; if (rejacted) { criterion = RestrictionsFactoryUtil.isNotNull("reactdate"); dynamicQuery.addOrder(OrderFactoryUtil.desc("reactdate")); } else { criterion = RestrictionsFactoryUtil.isNull("reactdate"); } dynamicQuery.addOrder(OrderFactoryUtil.desc("invitationOrganisationId")); //dynamicQuery.setProjection(ProjectionFactoryUtil.groupProperty("organisationId")); dynamicQuery.add(criterion); List<InvitationOrganisation> invitationorganisation = InvitationOrganisationLocalServiceUtil .dynamicQuery(dynamicQuery); return invitationorganisation; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.BioBankLocalServiceImpl.java
License:Open Source License
public String getBioBankFiltered(String keyword, String country, String materialtype, String diagnosisavailable, String biobanksize, String typeofbiobank) { String array = ""; try {//from w w w . j av a2 s . c o m DynamicQuery dynamicQuery = BioBankLocalServiceUtil.dynamicQuery(); Criterion criterion = null; if (!keyword.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(RestrictionsFactoryUtil.ilike("searchindexvalue", "%" + keyword + "%")); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!country.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(PropertyFactoryUtil.forName("searchindexvalue").eq(country)); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!diagnosisavailable.equalsIgnoreCase("")) { Criterion criterion_sub = createSearchDiagnosisString(diagnosisavailable); DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!materialtype.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", materialtype); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", "TRUE")); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!typeofbiobank.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", "objectClass"); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", "%" + typeofbiobank + "%")); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!biobanksize.equalsIgnoreCase("")) { String bbsize = ""; if (biobanksize.equalsIgnoreCase("< 10 Samples")) { bbsize = "0"; } else if (biobanksize.equalsIgnoreCase("10 - 100 Samples")) { bbsize = "1"; } else if (biobanksize.equalsIgnoreCase("100 - 1.000 Samples")) { bbsize = "2"; } else if (biobanksize.equalsIgnoreCase("1.000 - 10.000 Samples")) { bbsize = "3"; } else if (biobanksize.equalsIgnoreCase("10.000 - 100.000 Samples")) { bbsize = "4"; } else if (biobanksize.equalsIgnoreCase("100.000 - 1.000.000 Samples")) { bbsize = "5"; } else if (biobanksize.equalsIgnoreCase("1.000.000 - 10.000.000 Samples")) { bbsize = "6"; } else if (biobanksize.equalsIgnoreCase("10.000.000 - 100.000.000 Samples")) { bbsize = "7"; } else if (biobanksize.equalsIgnoreCase("100.000.000 - 1.000.000.000 Samples")) { bbsize = "8"; } DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", "biobankSize"); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", bbsize)); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } // Add Criterion to the Main Biobank Query if (criterion != null) { dynamicQuery.add(criterion); } List<BioBank> biobanks = BioBankLocalServiceUtil.dynamicQuery(dynamicQuery); String seperator = ""; for (BioBank biobank : biobanks) { String diagnosis_avialavble = ""; SearchIndex searchindex = SearchIndexLocalServiceUtil.getSearchIndex(biobank.getOrganisationid(), "diagnosisAvailable"); if (searchindex != null) { diagnosis_avialavble = searchindex.getSearchindexvalue().replaceAll("urn:miriam:", ""); } array += seperator + "{"; //Country array += "Country: '" + biobank.getBiobankcountry().replaceAll("'", "\\\\'") + "',"; //BB ID array += "'BB_ID': '" + biobank.getLdapbiobankID().replaceAll("'", "\\\\'") + "',"; //BB Diagnosis array += "'Diagnosis': '" + diagnosis_avialavble.replaceAll("'", "\\\\'") + "',"; //Name array += "Name: '" + biobank.getBiobankname().replaceAll("'", "\\\\'") + "',"; //Type array += "Type: '" + biobank.getBiobanktype().replaceAll("'", "\\\\'") + "',"; //Size array += "Size: '" + biobank.getBiobanksize().replaceAll("'", "\\\\'") + "',"; //Juristic Person array += "'Juristic Person': '" + biobank.getBiobankjuristicperson().replaceAll("'", "\\\\'") + "'"; array += "}"; seperator = ","; } } catch (Exception ex) { System.out.println("[" + date_format_apache_error.format(new Date()) + "] [info] [BBMRIERICDatabase-portlet::at.meduni.liferay.portlet.bbmrieric.service.impl.BioBankLocalServiceImpl::getBioBankFiltered] Could not get Biobank List filtered (" + keyword + ", " + country + ", " + materialtype + ", " + diagnosisavailable + ", " + biobanksize + ")."); ex.printStackTrace(); } return array; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java
License:Open Source License
public List<D2Biobank> getD2Biobanks(String keyword, String country, String materialtype, String diagnosisavailable, String biobanksize, String typeofbiobank, String typeofcollection) { keyword = keyword.trim();/*from ww w.j a v a2 s .c om*/ if (keyword.equals("") && country.equals("") && materialtype.equals("") && diagnosisavailable.equals("") && biobanksize.equals("") && typeofbiobank.equals("") && typeofcollection.equals("")) { try { return this.getD2Biobanks(-1, -1); } catch (Exception e) { System.out.println("[" + date_format_apache_error.format(new Date()) + "] [error] [BBMRIERICDatabase-portlet::at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl::getD2Biobanks] Error getting all biobanks."); e.printStackTrace(); } } else { DynamicQuery subquerycontact = null; DynamicQuery subquerycollection = null; DynamicQuery subquerycollectionkeyword = null; DynamicQuery dynamicQuerykeyword = null; DynamicQuery dynamicQuery = null; List<Long> searchlist_biobank = new ArrayList<Long>(); if (!keyword.equals("")) { try { List<Long> searchlist_contact = new ArrayList<Long>(); List<Long> searchlist_collection = new ArrayList<Long>(); subquerycontact = getContactInformationSubquery(keyword); if (subquerycontact != null) { searchlist_contact.addAll(D2BiobankLocalServiceUtil.dynamicQuery(subquerycontact)); } subquerycollectionkeyword = getCollectionSubqueryForKeywords(keyword); if (subquerycollectionkeyword != null) { searchlist_collection .addAll(D2BiobankLocalServiceUtil.dynamicQuery(subquerycollectionkeyword)); } dynamicQuerykeyword = getBiobankQueryForKeywords(keyword); if (dynamicQuerykeyword != null) { searchlist_biobank.addAll(D2BiobankLocalServiceUtil.dynamicQuery(dynamicQuerykeyword)); } searchlist_contact.removeAll(searchlist_biobank); searchlist_biobank.addAll(searchlist_contact); searchlist_collection.removeAll(searchlist_biobank); searchlist_biobank.addAll(searchlist_collection); } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } } long powerof = 0; if (!biobanksize.equals("")) { powerof = D2BiobankKeys.getBiobankSizeFromSelect(biobanksize); } if (!materialtype.equals("") || !diagnosisavailable.equals("") || !biobanksize.equals("") || !typeofcollection.equals("")) { subquerycollection = getCollectionSubquery(materialtype, diagnosisavailable, biobanksize, powerof, typeofcollection); } //Create Main Query dynamicQuery = getBiobankQuery(country, typeofbiobank); if (subquerycollection != null) { dynamicQuery.add(PropertyFactoryUtil.forName("biobankId").in(subquerycollection)); } if (searchlist_biobank.size() != 0) { dynamicQuery.add(PropertyFactoryUtil.forName("biobankId").in(searchlist_biobank)); } try { List<D2Biobank> searchlist = D2BiobankLocalServiceUtil.dynamicQuery(dynamicQuery); return searchlist; } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java
License:Open Source License
private DynamicQuery getBiobankQueryForKeywords(String keyword) { DynamicQuery dynamicQuery = D2BiobankLocalServiceUtil.dynamicQuery(); ProjectionList projectionList = ProjectionFactoryUtil.projectionList(); projectionList.add(ProjectionFactoryUtil.groupProperty("biobankId")); dynamicQuery.setProjection(projectionList); String[] keywords = keyword.split(" "); Criterion criterion = null;/*w w w. ja va 2 s . c o m*/ if (!keyword.equals("")) { for (String search : keywords) { if (criterion == null) { criterion = RestrictionsFactoryUtil.ilike("bbmribiobankID", "%" + search + "%"); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankJurisdicalPerson", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankCountry", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bioresourceReference", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankAcronym", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadFirstName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadLastName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadRole", "%" + search + "%")); } else { criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bbmribiobankID", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankJurisdicalPerson", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankCountry", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bioresourceReference", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankAcronym", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadFirstName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadLastName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("biobankHeadRole", "%" + search + "%")); } } } if (criterion != null) { dynamicQuery.add(criterion); } return dynamicQuery; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java
License:Open Source License
private DynamicQuery getBiobankQuery(String country, String typeofbiobank) { DynamicQuery dynamicQuery = D2BiobankLocalServiceUtil.dynamicQuery(); Criterion criterion = null;/* w w w . j a v a2s . co m*/ if (!country.equals("")) { criterion = RestrictionsFactoryUtil.ilike("biobankCountry", "%" + country + "%"); } if (!typeofbiobank.equals("")) { if (criterion == null) { criterion = RestrictionsFactoryUtil.ilike("biobankType", "%" + typeofbiobank.replaceAll(" ", "") + "%"); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("biobankType", "%" + typeofbiobank.replaceAll(" ", "") + "%")); } } if (criterion != null) { dynamicQuery.add(criterion); } return dynamicQuery; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java
License:Open Source License
private DynamicQuery getCollectionSubqueryForKeywords(String keyword) { DynamicQuery dynamicQuery = D2CollectionLocalServiceUtil.dynamicQuery(); ProjectionList projectionList = ProjectionFactoryUtil.projectionList(); projectionList.add(ProjectionFactoryUtil.groupProperty("biobankId")); dynamicQuery.setProjection(projectionList); String[] keywords = keyword.split(" "); Criterion criterion = null;//from w w w. j a v a2s . c o m if (!keyword.equals("")) { for (String search : keywords) { if (criterion == null) { criterion = RestrictionsFactoryUtil.ilike("bbmricollectionID", "%" + search + "%"); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("materialStoredOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionTypeOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bioresourceReference", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionAcronym", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("temperatureOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("diagnosisAvailable", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadFirstName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadLastName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadRole", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionSampleAccessDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionDataAccessDescription", "%" + search + "%")); } else { criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bbmricollectionID", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("materialStoredOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionTypeOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("bioresourceReference", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionAcronym", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("temperatureOther", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("diagnosisAvailable", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadFirstName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadLastName", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionHeadRole", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionSampleAccessDescription", "%" + search + "%")); criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.ilike("collectionDataAccessDescription", "%" + search + "%")); } } } if (criterion != null) { dynamicQuery.add(criterion); } return dynamicQuery; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java
License:Open Source License
private DynamicQuery getCollectionSubquery(String materialtype, String diagnosisavailable, String biobanksize, long powerof, String typeofcollection) { DynamicQuery dynamicQuery = D2CollectionLocalServiceUtil.dynamicQuery(); ProjectionList projectionList = ProjectionFactoryUtil.projectionList(); projectionList.add(ProjectionFactoryUtil.groupProperty("biobankId")); dynamicQuery.setProjection(projectionList); Criterion criterion = null;/*from w w w .jav a 2s . c om*/ if (!materialtype.equals("")) { String[] materialtypes = { "Plasma", "Serum", "Urine", "Saliva", "Faeces", "RNA", "Blood", "Tissue Frozen", "Tissue FFPE", "Immortalized Cell Lines", "Isolated Pathogen" }; boolean others = true; for (String materialtypes_tmp : materialtypes) { if (materialtype.equalsIgnoreCase(materialtypes_tmp)) { String colname = "materialStored" + materialtypes_tmp.replaceAll(" ", ""); if (criterion == null) { criterion = RestrictionsFactoryUtil.eq(colname, true); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq(colname, true)); } others = false; } } if (others) { if (criterion == null) { criterion = RestrictionsFactoryUtil.ilike("materialStoredOther", "%" + materialtype + "%"); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("materialStoredOther", "%" + materialtype + "%")); } } } if (!diagnosisavailable.equals("")) { if (criterion == null) { criterion = createSearchDiagnosisString(diagnosisavailable); } else { criterion = RestrictionsFactoryUtil.and(criterion, createSearchDiagnosisString(diagnosisavailable)); } } if (!biobanksize.equals("")) { if (criterion == null) { criterion = RestrictionsFactoryUtil.eq("collectionOrderOfMagnitude", powerof); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("collectionOrderOfMagnitude", powerof)); } } if (!typeofcollection.equals("")) { String[] typeofcollections = { "Case Control", "Cohort", "Cross Sectional", "Longitudinal", "Twin Study", "Quality Control", "Population Based", "Disease Specific", "Birth Cohort" }; boolean others = true; for (String typeofcollection_tmp : typeofcollections) { if (typeofcollection.equalsIgnoreCase(typeofcollection_tmp)) { String colname = "collectionType" + typeofcollection_tmp.replaceAll(" ", ""); if (criterion == null) { criterion = RestrictionsFactoryUtil.eq(colname, true); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq(colname, true)); } others = false; } } if (others) { if (criterion == null) { criterion = RestrictionsFactoryUtil.ilike("collectionTypeOther", "%" + typeofcollection + "%"); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("collectionTypeOther", "%" + typeofcollection + "%")); } } } dynamicQuery.add(criterion); return dynamicQuery; }