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

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

Introduction

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

Prototype

public static Criterion or(Criterion lhs, Criterion rhs) 

Source Link

Usage

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  . j  a  v  a  2s  .  co m
    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 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;//from w  w w.j  a va  2s .com
    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 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;//w w  w  .  j av  a 2  s.  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 Criterion createSearchDiagnosisString(String diagnosisavailable) {
    Criterion criterion_sub = null;/* w  w  w  . ja  v a 2  s .  co m*/
    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.D2BiobankLocalServiceImpl.java

License:Open Source License

private DynamicQuery getContactInformationSubquery(String keyword) {
    DynamicQuery dynamicQuery = D2BiobankLocalServiceUtil.dynamicQuery();
    ProjectionList projectionList = ProjectionFactoryUtil.projectionList();
    projectionList.add(ProjectionFactoryUtil.groupProperty("biobankId"));
    dynamicQuery.setProjection(projectionList);

    DynamicQuery dynamicQuerySub = ContactInformationLocalServiceUtil.dynamicQuery();
    ProjectionList projectionList_Sub = ProjectionFactoryUtil.projectionList();
    projectionList_Sub.add(ProjectionFactoryUtil.groupProperty("contactID"));
    dynamicQuerySub.setProjection(projectionList_Sub);
    String[] keywords = keyword.split(" ");
    Criterion criterion = null;/*from  w w w  .ja  va 2 s  .  c  o m*/
    for (String search : keywords) {
        if (criterion == null) {
            criterion = RestrictionsFactoryUtil.ilike("contactID", "%" + search + "%");
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactEmail", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactCountry", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactFirstName", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactLastName", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactPhone", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactAddress", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactZIP", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactCity", "%" + search + "%"));
        } else {
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactID", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactEmail", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactCountry", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactFirstName", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactLastName", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactPhone", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactAddress", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactZIP", "%" + search + "%"));
            criterion = RestrictionsFactoryUtil.or(criterion,
                    RestrictionsFactoryUtil.ilike("contactCity", "%" + search + "%"));
        }
    }
    dynamicQuerySub.add(criterion);
    dynamicQuery.add(PropertyFactoryUtil.forName("contactIDRef").in(dynamicQuerySub));
    return dynamicQuery;
}

From source file:at.meduni.liferay.portlet.rdconnect.service.impl.CandidateLocalServiceImpl.java

License:Open Source License

public List<Candidate> getFilterdCandidates(String name, String country, String type, String source,
        String state) throws SystemException {
    if (country.equals("all")) {
        country = "";
    }/*from  ww w . ja  v  a2s  .co  m*/
    if (type.equals("all")) {
        type = "";
    } else {
        if (type.equals("Registry"))
            type = "Registr";
    }
    if (source.equals("all")) {
        source = "";
    }
    if (state.equals("all")) {
        state = "";
    }

    // Dynamic Query for search
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Candidate.class);

    Criterion criterion = null;

    Criterion criterion_subunit = RestrictionsFactoryUtil.isNull("subunitof");
    criterion_subunit = RestrictionsFactoryUtil.or(criterion_subunit,
            RestrictionsFactoryUtil.eq("subunitof", ""));

    Criterion criterion_diseases = RestrictionsFactoryUtil.ilike("diseasesfreetext",
            StringPool.PERCENT + name + StringPool.PERCENT);
    criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases,
            RestrictionsFactoryUtil.ilike("diseasescodes", StringPool.PERCENT + name + StringPool.PERCENT));
    criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases,
            RestrictionsFactoryUtil.ilike("name", StringPool.PERCENT + name + StringPool.PERCENT));
    criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases,
            RestrictionsFactoryUtil.ilike("candidatesubtype", StringPool.PERCENT + name + StringPool.PERCENT));

    try {
        long searchlong = Long.valueOf(name);
        criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases,
                RestrictionsFactoryUtil.eq("candidateId", searchlong));
    } catch (Exception e) {

    }

    criterion = RestrictionsFactoryUtil.ilike("source", StringPool.PERCENT + source + StringPool.PERCENT);
    criterion = RestrictionsFactoryUtil.and(criterion,
            RestrictionsFactoryUtil.ilike("country", StringPool.PERCENT + country + StringPool.PERCENT));
    criterion = RestrictionsFactoryUtil.and(criterion,
            RestrictionsFactoryUtil.ilike("candidatetype", StringPool.PERCENT + type + StringPool.PERCENT));
    if (state.equalsIgnoreCase("")) {
        criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil
                .not(RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + "X" + StringPool.PERCENT)));
    } else {
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + state + StringPool.PERCENT));
    }
    criterion = RestrictionsFactoryUtil.and(criterion, criterion_diseases);
    criterion = RestrictionsFactoryUtil.and(criterion, criterion_subunit);

    dynamicQuery.add(criterion);

    Order countryOrder = OrderFactoryUtil.desc("country");
    Order nameOrder = OrderFactoryUtil.desc("name");
    //Order candidateidOrder = OrderFactoryUtil.asc("candidateId");
    //Order masteridOrder = OrderFactoryUtil.desc("masterId");

    dynamicQuery.addOrder(countryOrder);
    dynamicQuery.addOrder(nameOrder);

    List<Candidate> candidates = CandidateLocalServiceUtil.dynamicQuery(dynamicQuery);

    //List<Candidate> candidates = candidatePersistence.findByCNSTDD(country, name, source, type, diseases_freetext, diseases_code, "");
    return candidates;
}

From source file:at.meduni.liferay.portlet.rdconnect.service.impl.MasterCandidateLocalServiceImpl.java

License:Open Source License

public List<MasterCandidate> getFilterdCandidates(String searchstring, String country, String type,
        String state, String source) throws SystemException {
    if (country.equals("all")) {
        country = "";
    }//ww w  .  ja v a  2 s.  c  o m
    if (type.equals("all")) {
        type = "";
    } else {
        if (type.equals("Registry"))
            type = "Registr";
    }
    if (state.equals("all")) {
        state = "";
    }
    if (source.equals("all")) {
        source = "";
    }

    List<MasterCandidate> mastercandidate = null;

    try {
        // Dynamic Query for search
        DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(MasterCandidateImpl.class);

        Criterion criterion = null;
        Criterion criterion_stringsearch_grouped = null;

        String[] searchstringarray = searchstring.split(" ");

        for (String searchstringsplit : searchstringarray) {
            Criterion criterion_stringsearch = RestrictionsFactoryUtil.ilike("diseasesfreetext",
                    StringPool.PERCENT + searchstringsplit + StringPool.PERCENT);
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("diseasescodes", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("name", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("candidatesubtype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("country", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("candidatetype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("url", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("contactperson", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("comment", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("address", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("mail", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));
            criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil
                    .ilike("head", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT));

            try {
                long searchlong = Long.valueOf(searchstringsplit);
                criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch,
                        RestrictionsFactoryUtil.eq("masterCandidateId", searchlong));
                criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch,
                        RestrictionsFactoryUtil.eq("organisationid", searchlong));
            } catch (Exception e) {

            }
            if (criterion_stringsearch_grouped == null) {
                criterion_stringsearch_grouped = criterion_stringsearch;
            } else {
                criterion_stringsearch_grouped = RestrictionsFactoryUtil.or(criterion_stringsearch_grouped,
                        criterion_stringsearch);
            }
        }

        criterion = RestrictionsFactoryUtil.ilike("country", StringPool.PERCENT + country + StringPool.PERCENT);
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.ilike("candidatetype", StringPool.PERCENT + type + StringPool.PERCENT));
        criterion = RestrictionsFactoryUtil.and(criterion, criterion_stringsearch_grouped);
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + state + StringPool.PERCENT));
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE 'x'"));
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE '0'"));
        criterion = RestrictionsFactoryUtil.and(criterion,
                RestrictionsFactoryUtil.ilike("source", StringPool.PERCENT + source + StringPool.PERCENT));

        dynamicQuery.add(criterion);

        Order countryOrder = OrderFactoryUtil.asc("country");
        Order joinIdOrder = OrderFactoryUtil.asc("joinId");
        Order nameOrder = OrderFactoryUtil.asc("name");

        dynamicQuery.addOrder(countryOrder);
        dynamicQuery.addOrder(joinIdOrder);
        dynamicQuery.addOrder(nameOrder);

        mastercandidate = MasterCandidateLocalServiceUtil.dynamicQuery(dynamicQuery);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return mastercandidate;
}

From source file:at.meduni.liferay.portlet.rdconnect.service.impl.RDCRecommenderLocalServiceImpl.java

License:Open Source License

/**
 * Returns a number of Recommandations for a user
 * //from  w  ww  .  j  ava 2s  .  co  m
 * @param userId
 * @return
 */
public List<RDCRecommender> getReconnandationsForUser(long userId) {
    try {
        List<Organization> organizations = OrganizationLocalServiceUtil.getUserOrganizations(userId);
        //System.out.println("Number of Organizations for user: " + organizations.size());
        DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(RDCRecommender.class);
        Criterion criterion = null;
        for (Organization organization : organizations) {
            if (criterion == null) {
                criterion = RestrictionsFactoryUtil.eq("organisationId", organization.getOrganizationId());
                //criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("recommendedorganisationId", organization.getOrganizationId()));
            } else {
                criterion = RestrictionsFactoryUtil.or(criterion,
                        RestrictionsFactoryUtil.eq("organisationId", organization.getOrganizationId()));
                //criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("recommendedorganisationId", organization.getOrganizationId()));
            }
        }
        if (criterion == null) {
            return null;
        }
        //System.out.println("Criterion" + criterion.toString());
        dynamicQuery.add(criterion);
        Order recommendervalueOrder = OrderFactoryUtil.desc("recommendervalue");
        dynamicQuery.addOrder(recommendervalueOrder);
        List<RDCRecommender> rdcrecommenders = RDCRecommenderLocalServiceUtil.dynamicQuery(dynamicQuery);
        return rdcrecommenders;
    } catch (Exception ex) {
        System.out.println("ERROR: RDCRecommenderLocalServiceImpl::getReconnandationsForUser");
        ex.printStackTrace();
    }
    return null;
}

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;
        }/*from  ww  w.jav  a2 s .  c  o 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.inikah.slayer.service.impl.InvitationLocalServiceImpl.java

License:Open Source License

public void linkInvitation(User user) {

    String noInvitationCheck = user.getOpenId();
    if (Validator.isNotNull(noInvitationCheck) && noInvitationCheck.equalsIgnoreCase("no-invitation-check"))
        return;//from  www  .j  a  va2s  .  co m

    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Invitation.class,
            PortletClassLoaderUtil.getClassLoader());

    String emailAddress = user.getEmailAddress();
    dynamicQuery.add(RestrictionsFactoryUtil.or(RestrictionsFactoryUtil.eq("inviteeEmail", emailAddress),
            RestrictionsFactoryUtil.eq("registeredEmail", emailAddress)));

    Invitation invitation = null;
    try {
        @SuppressWarnings("unchecked")
        List<Invitation> records = dynamicQuery(dynamicQuery);
        for (Invitation _invitation : records) {
            invitation = _invitation;
        }
    } catch (SystemException e) {
        e.printStackTrace();
    }

    if (Validator.isNull(invitation))
        return;

    invitation.setInviteeNewUserId(user.getUserId());
    invitation.setStatus(InviteConstants.STATUS_LINKED);
    invitation.setModifiedDate(new Date());

    // email the actual inviter. 

    // set invitation chain.
    invitation.setInvitationChain(getChain(invitation.getUserId()));

    // permanently set this in the user table
    user.setOpenId("no-invitation-check");
    try {
        user = userLocalService.updateUser(user);
    } catch (SystemException e) {
        e.printStackTrace();
    }

    try {
        updateInvitation(invitation);
    } catch (SystemException e) {
        e.printStackTrace();
    }
}