Example usage for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil like

List of usage examples for com.liferay.portal.kernel.dao.orm RestrictionsFactoryUtil like

Introduction

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

Prototype

public static Criterion like(String propertyName, Object value) 

Source Link

Usage

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.  ja  v a  2 s .com*/
        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.BioBankLocalServiceImpl.java

License:Open Source License

private Criterion createSearchDiagnosisString(String diagnosisavailable) {
    Criterion criterion_sub = null;/*from w w  w . ja  v  a2 s .com*/
    if (diagnosisavailable.contains("--")) {
        diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("-", "").trim();
        criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue", "%" + diagnosisavailable + "%");
        if (diagnosisavailable.startsWith("B")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%A00-B%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%B*%"));
        } else if (diagnosisavailable.startsWith("D")) {
            try {
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                if (number >= 50) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%D50-D%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%C00-D%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        } else if (diagnosisavailable.startsWith("H")) {
            try {
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                if (number >= 60) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%H60-H%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%H00-H%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        } else if (diagnosisavailable.startsWith("T")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%S00-T%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%T*%"));
        } else if (diagnosisavailable.startsWith("Y")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%V00-Y%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%Y*%"));
        } else {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                    .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "00-%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                    .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "*%"));
        }
        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                RestrictionsFactoryUtil.like("searchindexvalue", "%icd:*%"));
    } else if (diagnosisavailable.contains("-")) {
        // Subgroup
        try {
            diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("- ", "").trim();
            // Search for individual codes
            String startletter = String.valueOf(diagnosisavailable.charAt(0));
            int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
            int number_stop = Integer.parseInt(diagnosisavailable.substring(5, 7));
            for (int counter = (int) Math.floor(number / 10.); counter <= (int) Math
                    .floor(number_stop / 10.); counter++) {
                if (criterion_sub == null) {
                    criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue",
                            "%" + startletter + counter + "%");
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("searchindexvalue", "%" + startletter + counter + "%"));
                }
            }
            // Search for groups
            if (diagnosisavailable.startsWith("B")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%A00-B%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%B*%"));
            } else if (diagnosisavailable.startsWith("D")) {
                try {
                    if (number >= 50) {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%D50-D%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                    } else {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%C00-D%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            } else if (diagnosisavailable.startsWith("H")) {
                try {
                    if (number >= 60) {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%H60-H%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                    } else {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%H00-H%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            } else if (diagnosisavailable.startsWith("T")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%S00-T%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%T*%"));
            } else if (diagnosisavailable.startsWith("Y")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%V00-Y%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%Y*%"));
            } else {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                        .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "00-%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                        .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "*%"));
            }
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("searchindexvalue", "%icd:*%"));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else {
        if (diagnosisavailable.contains("ICD*")) {
            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue", "%icd:%");
        } else if (diagnosisavailable.contains("OMIM*")) {
            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue", "%omim:%");
        } else if (diagnosisavailable.contains("ORPHA*")) {
            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue", "%orphanet%");
        } else {
            // Gruppen Search
            try {
                diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("- ", "").trim();
                //System.out.println("++++++" + startletter + number + diagnosisavailable.substring(4, 5) + number_stop);
                String startletter = String.valueOf(diagnosisavailable.charAt(0));
                String endletter = diagnosisavailable.substring(4, 5);
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                int number_stop = Integer.parseInt(diagnosisavailable.substring(5, 7));
                // Search for individual codes
                if (startletter.equalsIgnoreCase(endletter)) {
                    for (int counter = (int) Math.floor(number / 10.); counter <= (int) Math
                            .floor(number_stop / 10.); counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("searchindexvalue", "%" + startletter + counter + "%"));
                        }
                    }
                } else {
                    for (int counter = (int) Math.floor(number / 10.); counter <= 9; counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("searchindexvalue", "%" + startletter + counter + "%"));
                        }
                    }
                    for (int counter = 0; counter <= (int) Math.floor(number_stop / 10.); counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("searchindexvalue",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("searchindexvalue", "%" + startletter + counter + "%"));
                        }
                    }
                }
                // Search for groups
                if (diagnosisavailable.startsWith("B")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%A00-B%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%B*%"));
                } else if (diagnosisavailable.startsWith("D")) {
                    try {
                        if (number >= 50) {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%D50-D%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%C00-D%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%D*%"));
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                } else if (diagnosisavailable.startsWith("H")) {
                    try {
                        if (number >= 60) {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%H60-H%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%H00-H%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("searchindexvalue", "%H*%"));
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                } else if (diagnosisavailable.startsWith("T")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%S00-T%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%T*%"));
                } else if (diagnosisavailable.startsWith("Y")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%V00-Y%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("searchindexvalue", "%Y*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "00-%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("searchindexvalue", "%" + diagnosisavailable.charAt(0) + "*%"));
                }
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("searchindexvalue", "%icd:*%"));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
    System.out.println("|" + diagnosisavailable + "|");
    return criterion_sub;
}

From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.D2BiobankLocalServiceImpl.java

License:Open Source License

private Criterion createSearchDiagnosisString(String diagnosisavailable) {
    Criterion criterion_sub = null;/*from  w w w .j av  a 2  s.  c  om*/
    if (diagnosisavailable.contains("--")) {
        diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("-", "").trim();
        criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable", "%" + diagnosisavailable + "%");
        if (diagnosisavailable.startsWith("B")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%A00-B%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%B*%"));
        } else if (diagnosisavailable.startsWith("D")) {
            try {
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                if (number >= 50) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%D50-D%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%C00-D%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        } else if (diagnosisavailable.startsWith("H")) {
            try {
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                if (number >= 60) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%H60-H%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%H00-H%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        } else if (diagnosisavailable.startsWith("T")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%S00-T%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%T*%"));
        } else if (diagnosisavailable.startsWith("Y")) {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%V00-Y%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%Y*%"));
        } else {
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                    .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "00-%"));
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                    .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "*%"));
        }
        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                RestrictionsFactoryUtil.like("diagnosisAvailable", "%icd:*%"));
    } else if (diagnosisavailable.contains("-")) {
        // Subgroup
        try {
            diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("- ", "").trim();
            // Search for individual codes
            String startletter = String.valueOf(diagnosisavailable.charAt(0));
            int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
            int number_stop = Integer.parseInt(diagnosisavailable.substring(5, 7));
            for (int counter = (int) Math.floor(number / 10.); counter <= (int) Math
                    .floor(number_stop / 10.); counter++) {
                if (criterion_sub == null) {
                    criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable",
                            "%" + startletter + counter + "%");
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("diagnosisAvailable", "%" + startletter + counter + "%"));
                }
            }
            // Search for groups
            if (diagnosisavailable.startsWith("B")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%A00-B%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%B*%"));
            } else if (diagnosisavailable.startsWith("D")) {
                try {
                    if (number >= 50) {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%D50-D%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                    } else {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%C00-D%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            } else if (diagnosisavailable.startsWith("H")) {
                try {
                    if (number >= 60) {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%H60-H%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                    } else {
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%H00-H%"));
                        criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                    }
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            } else if (diagnosisavailable.startsWith("T")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%S00-T%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%T*%"));
            } else if (diagnosisavailable.startsWith("Y")) {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%V00-Y%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%Y*%"));
            } else {
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                        .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "00-%"));
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                        .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "*%"));
            }
            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%icd:*%"));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else {
        if (diagnosisavailable.contains("ICD*")) {
            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable", "%icd:%");
        } else if (diagnosisavailable.contains("OMIM*")) {
            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable", "%omim:%");
        } else if (diagnosisavailable.contains("ORPHA*")) {
            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable", "%orphanet%");
        } else {
            // Gruppen Search
            try {
                diagnosisavailable = diagnosisavailable.replaceAll("\\(.*\\)", "").replaceAll("- ", "").trim();
                //System.out.println("++++++" + startletter + number + diagnosisavailable.substring(4, 5) + number_stop);
                String startletter = String.valueOf(diagnosisavailable.charAt(0));
                String endletter = diagnosisavailable.substring(4, 5);
                int number = Integer.parseInt(diagnosisavailable.substring(1, 3));
                int number_stop = Integer.parseInt(diagnosisavailable.substring(5, 7));
                // Search for individual codes
                if (startletter.equalsIgnoreCase(endletter)) {
                    for (int counter = (int) Math.floor(number / 10.); counter <= (int) Math
                            .floor(number_stop / 10.); counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("diagnosisAvailable", "%" + startletter + counter + "%"));
                        }
                    }
                } else {
                    for (int counter = (int) Math.floor(number / 10.); counter <= 9; counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("diagnosisAvailable", "%" + startletter + counter + "%"));
                        }
                    }
                    for (int counter = 0; counter <= (int) Math.floor(number_stop / 10.); counter++) {
                        if (criterion_sub == null) {
                            criterion_sub = RestrictionsFactoryUtil.like("diagnosisAvailable",
                                    "%" + startletter + counter + "%");
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                                    .like("diagnosisAvailable", "%" + startletter + counter + "%"));
                        }
                    }
                }
                // Search for groups
                if (diagnosisavailable.startsWith("B")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%A00-B%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%B*%"));
                } else if (diagnosisavailable.startsWith("D")) {
                    try {
                        if (number >= 50) {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%D50-D%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%C00-D%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%D*%"));
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                } else if (diagnosisavailable.startsWith("H")) {
                    try {
                        if (number >= 60) {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%H60-H%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                        } else {
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%H00-H%"));
                            criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                                    RestrictionsFactoryUtil.like("diagnosisAvailable", "%H*%"));
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    }
                } else if (diagnosisavailable.startsWith("T")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%S00-T%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%T*%"));
                } else if (diagnosisavailable.startsWith("Y")) {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%V00-Y%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                            RestrictionsFactoryUtil.like("diagnosisAvailable", "%Y*%"));
                } else {
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "00-%"));
                    criterion_sub = RestrictionsFactoryUtil.or(criterion_sub, RestrictionsFactoryUtil
                            .like("diagnosisAvailable", "%" + diagnosisavailable.charAt(0) + "*%"));
                }
                criterion_sub = RestrictionsFactoryUtil.or(criterion_sub,
                        RestrictionsFactoryUtil.like("diagnosisAvailable", "%icd:*%"));
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }
    return criterion_sub;
}

From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.SearchIndexLocalServiceImpl.java

License:Open Source License

public String[] getMaterialTypes() {
    try {/*from   w  ww. j  av  a 2s.co  m*/
        DynamicQuery dynamicQuery = SearchIndexLocalServiceUtil.dynamicQuery();
        Criterion criterion = RestrictionsFactoryUtil.like("searchindexkey", "biobankMaterialStored%");
        dynamicQuery.add(criterion);
        ProjectionList projectionList = ProjectionFactoryUtil.projectionList();
        projectionList.add(ProjectionFactoryUtil.groupProperty("searchindexkey"));
        //projectionList.add(ProjectionFactoryUtil.rowCount());
        dynamicQuery.setProjection(projectionList);
        List<Object> results = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery);
        /*for(Object result : results) {
           System.out.println(result);   
        }*/
        return results.toArray(new String[results.size()]);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return new String[] {};
}

From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.SearchIndexLocalServiceImpl.java

License:Open Source License

public String[] getCountry() {
    try {//www. ja  v a 2s  .c o m
        DynamicQuery dynamicQuery = SearchIndexLocalServiceUtil.dynamicQuery();
        Criterion criterion = RestrictionsFactoryUtil.like("searchindexkey", "biobankCountry");
        dynamicQuery.add(criterion);
        ProjectionList projectionList = ProjectionFactoryUtil.projectionList();
        projectionList.add(ProjectionFactoryUtil.groupProperty("searchindexvalue"));
        //projectionList.add(ProjectionFactoryUtil.rowCount());
        dynamicQuery.setProjection(projectionList);
        Order defaultOrder = OrderFactoryUtil.desc("searchindexvalue");
        dynamicQuery.addOrder(defaultOrder);
        List<Object> results = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery);
        /*for(Object result : results) {
           System.out.println(result);   
        }*/
        return results.toArray(new String[results.size()]);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return new String[] {};
}

From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.SearchIndexLocalServiceImpl.java

License:Open Source License

public String[] getTypeOfBiobank() {
    try {//from  w  w w  .  java  2s .  c o  m
        HashSet<String> resultcleand = new HashSet<String>();
        DynamicQuery dynamicQuery = SearchIndexLocalServiceUtil.dynamicQuery();
        Criterion criterion = RestrictionsFactoryUtil.like("searchindexkey", "objectClass");
        dynamicQuery.add(criterion);
        ProjectionList projectionList = ProjectionFactoryUtil.projectionList();
        projectionList.add(ProjectionFactoryUtil.groupProperty("searchindexvalue"));
        dynamicQuery.setProjection(projectionList);
        List<Object> results = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery);
        for (Object result : results) {
            for (String split : result.toString().split(", ")) {
                if (split.equalsIgnoreCase("biobankContact")) {
                    continue;
                }
                if (!resultcleand.contains(split)) {
                    resultcleand.add(split);
                }
            }
        }
        return resultcleand.toArray(new String[resultcleand.size()]);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return new String[] {};
}

From source file:com.custom.portal.verify.CustomVerifyDocumentLibrary.java

License:Open Source License

protected void checkTitles() throws Exception {
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(DLFileEntry.class);

    Criterion criterion1 = RestrictionsFactoryUtil.like("title", "%/%");
    Criterion criterion2 = RestrictionsFactoryUtil.like("title", "%\\\\%");

    dynamicQuery.add(RestrictionsFactoryUtil.or(criterion1, criterion2));

    List<DLFileEntry> dlFileEntries = DLFileEntryLocalServiceUtil.dynamicQuery(dynamicQuery);

    for (DLFileEntry dlFileEntry : dlFileEntries) {
        TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(dlFileEntry.getModelClassName(),
                dlFileEntry.getFileEntryId());

        if (trashEntry != null) {
            continue;
        }// ww  w  .j  a v a 2  s .  co m

        String title = dlFileEntry.getTitle();

        String newTitle = title.replace(StringPool.SLASH, StringPool.BLANK);

        newTitle = newTitle.replace(StringPool.BACK_SLASH, StringPool.UNDERLINE);

        dlFileEntry.setTitle(newTitle);

        DLFileEntryLocalServiceUtil.updateDLFileEntry(dlFileEntry);

        DLFileVersion dlFileVersion = dlFileEntry.getFileVersion();

        dlFileVersion.setTitle(newTitle);

        DLFileVersionLocalServiceUtil.updateDLFileVersion(dlFileVersion);

        if (_log.isDebugEnabled()) {
            _log.debug("Invalid document title " + title + "renamed to " + newTitle);
        }
    }
}

From source file:com.fingence.slayer.service.impl.AssetServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Asset> getAssets(String pattern, boolean ticker) {
    List<Asset> results = new ArrayList<Asset>();
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(AssetImpl.class);

    dynamicQuery.add(RestrictionsFactoryUtil.like(ticker ? "security_ticker" : "id_isin",
            StringPool.PERCENT + pattern + StringPool.PERCENT));
    dynamicQuery.addOrder(OrderFactoryUtil.asc(ticker ? "security_ticker" : "id_isin"));

    try {/*  ww  w  .j a  va 2  s .c  om*/
        results = assetLocalService.dynamicQuery(dynamicQuery);
    } catch (SystemException e) {
        e.printStackTrace();
    }

    return results;
}

From source file:com.liferay.exportimport.resources.importer.test.ResourcesImporterTest.java

License:Open Source License

protected List<LayoutPrototype> getLayoutPrototypes() {
    DynamicQuery dynamicQuery = LayoutPrototypeLocalServiceUtil.dynamicQuery();

    Criterion layout1Criterion = RestrictionsFactoryUtil.like("name", "%Page 1%");
    Criterion layout2Criterion = RestrictionsFactoryUtil.like("name", "%Page 2%");

    dynamicQuery.add(RestrictionsFactoryUtil.or(layout1Criterion, layout2Criterion));

    return LayoutPrototypeLocalServiceUtil.dynamicQuery(dynamicQuery);
}

From source file:com.liferay.lms.service.impl.CourseResultLocalServiceImpl.java

License:Open Source License

public long countStudentsByCourseId(Course course, boolean passed) throws SystemException {

    long res = 0;
    List<User> students = CourseLocalServiceUtil.getStudentsFromCourse(course.getCompanyId(),
            course.getGroupCreatedId());

    ClassLoader classLoader = (ClassLoader) PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),
            "portletClassLoader");
    DynamicQuery consulta = DynamicQueryFactoryUtil.forClass(CourseResult.class, classLoader)
            .add(PropertyFactoryUtil.forName("courseId").eq(course.getCourseId()));

    if (Validator.isNotNull(students) && students.size() > 0) {
        Criterion criterion = null;/*from w  w  w  . j  av  a  2  s. co m*/
        for (int i = 0; i < students.size(); i++) {
            if (i == 0) {
                criterion = RestrictionsFactoryUtil.like("userId", students.get(i).getUserId());
            } else {
                criterion = RestrictionsFactoryUtil.or(criterion,
                        RestrictionsFactoryUtil.like("userId", students.get(i).getUserId()));
            }
        }
        if (Validator.isNotNull(criterion)) {
            criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("passed", passed));

            consulta.add(criterion);

            List<CourseResult> results = (List<CourseResult>) courseResultPersistence
                    .findWithDynamicQuery(consulta);
            if (results != null && !results.isEmpty()) {
                res = results.size();
            }
        }
    }

    return res;
}