Example usage for com.liferay.portal.kernel.dao.orm DynamicQuery add

List of usage examples for com.liferay.portal.kernel.dao.orm DynamicQuery add

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.orm DynamicQuery add.

Prototype

public DynamicQuery add(Criterion criterion);

Source Link

Usage

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;
}