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

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

Introduction

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

Prototype

public Junction add(Criterion criterion);

Source Link

Usage

From source file:com.apstamp.liferay.service.impl.TemplateLocalServiceImpl.java

License:Open Source License

protected DynamicQuery buildTemplateDynamicQuery(long templateId, String clienteEmail, String empresaEmail,
        String clienteNome, String clienteEmpresa, String empresaNome, String empresaRepresentante,
        String projetoNome, String projetoTecnologia, String projetoTag, boolean andSearch) {
    Junction junction = null;
    if (andSearch)
        junction = RestrictionsFactoryUtil.conjunction();
    else//from  w w w . jav  a 2s . com
        junction = RestrictionsFactoryUtil.disjunction();

    //campos do cliente
    if (templateId > 0) {
        Property property = PropertyFactoryUtil.forName("templateId");
        junction.add(property.eq(Long.valueOf(templateId)));
    }

    if (Validator.isNotNull(clienteNome)) {
        Property property = PropertyFactoryUtil.forName("clienteNome");
        String value = (new StringBuilder("%")).append(clienteNome).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(clienteEmpresa)) {
        Property property = PropertyFactoryUtil.forName("clienteEmpresa");
        String value = (new StringBuilder("%")).append(clienteEmpresa).append("%").toString();
        junction.add(property.like(value));
    }

    //campos da empresa
    if (Validator.isNotNull(empresaNome)) {
        Property property = PropertyFactoryUtil.forName("empresaNome");
        String value = (new StringBuilder("%")).append(empresaNome).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(empresaRepresentante)) {
        Property property = PropertyFactoryUtil.forName("empresaRepresentante");
        String value = (new StringBuilder("%")).append(empresaRepresentante).append("%").toString();
        junction.add(property.like(value));
    }

    //campos projeto
    if (Validator.isNotNull(projetoNome)) {
        Property property = PropertyFactoryUtil.forName("projetoNome");
        String value = (new StringBuilder("%")).append(projetoNome).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(projetoTecnologia)) {
        Property property = PropertyFactoryUtil.forName("projetoTecnologia");
        String value = (new StringBuilder("%")).append(projetoTecnologia).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(projetoTag)) {
        Property property = PropertyFactoryUtil.forName("projetoTag");
        String value = (new StringBuilder("%")).append(projetoTag).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(clienteEmail)) {
        Property property = PropertyFactoryUtil.forName("clienteEmail");
        String value = (new StringBuilder("%")).append(clienteEmail).append("%").toString();
        junction.add(property.like(value));
    }
    if (Validator.isNotNull(empresaEmail)) {
        Property property = PropertyFactoryUtil.forName("empresaEmail");
        String value = (new StringBuilder("%")).append(empresaEmail).append("%").toString();
        junction.add(property.like(value));
    }

    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Template.class, getClassLoader());
    return dynamicQuery.add(junction);
}

From source file:com.commsen.liferay.multidevice.rules.service.impl.RuleLocalServiceImpl.java

License:Open Source License

/**
 * Returns list of rules matching the company, group, layout and user's device.
 * /*from  w w w .  j  a  v  a 2  s.co m*/
 * @param companyId company (instance) id
 * @param groupId group (community/organization) id
 * @param layoutId layout (page) id
 * @param device user's device
 * @action the rule action type (change theme, redirect)
 * @return list of rules matching the company, group, layout and user's device.
 */
public List<Rule> getMatchingRules(long companyId, long groupId, long layoutId, Device device) {
    List<Rule> result = Collections.emptyList();

    // Brand and model query part
    Junction modelMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    modelMatchesOrNull.add(PropertyFactoryUtil.forName("model").eq(device.getModel()));
    modelMatchesOrNull.add(PropertyFactoryUtil.forName("model").isNull());

    Junction brandMatchesAndModelMatchesOrNull = RestrictionsFactoryUtil.conjunction();
    brandMatchesAndModelMatchesOrNull.add(PropertyFactoryUtil.forName("brand").eq(device.getBrand()));
    brandMatchesAndModelMatchesOrNull.add(modelMatchesOrNull);

    Junction brandNullOrMatchesWithModelMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    brandNullOrMatchesWithModelMatchesOrNull.add(PropertyFactoryUtil.forName("brand").isNull());
    brandNullOrMatchesWithModelMatchesOrNull.add(brandMatchesAndModelMatchesOrNull);

    // Operating system query part
    Junction osVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    osVersionMatchesOrNull.add(PropertyFactoryUtil.forName("osVersion").eq(device.getOSVersion()));
    osVersionMatchesOrNull.add(PropertyFactoryUtil.forName("osVersion").isNull());

    Junction osNameMatchesAndOsVersionMathcesOrNull = RestrictionsFactoryUtil.conjunction();
    osNameMatchesAndOsVersionMathcesOrNull.add(PropertyFactoryUtil.forName("os").eq(device.getOS()));
    osNameMatchesAndOsVersionMathcesOrNull.add(osVersionMatchesOrNull);

    Junction osNameNullOrMatchesWithOsVersionMathcesOrNull = RestrictionsFactoryUtil.disjunction();
    osNameNullOrMatchesWithOsVersionMathcesOrNull.add(PropertyFactoryUtil.forName("os").isNull());
    osNameNullOrMatchesWithOsVersionMathcesOrNull.add(osNameMatchesAndOsVersionMathcesOrNull);

    // Browser query part
    Junction browserVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    browserVersionMatchesOrNull
            .add(PropertyFactoryUtil.forName("browserVersion").eq(device.getBrowserVersion()));
    browserVersionMatchesOrNull.add(PropertyFactoryUtil.forName("browserVersion").isNull());

    Junction browserNameMatchesAndBrowserVersionMathcesOrNull = RestrictionsFactoryUtil.conjunction();
    browserNameMatchesAndBrowserVersionMathcesOrNull
            .add(PropertyFactoryUtil.forName("browser").eq(device.getBrowser()));
    browserNameMatchesAndBrowserVersionMathcesOrNull.add(browserVersionMatchesOrNull);

    Junction browserNameNullOrMatchesWithBrowserVersionMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    browserNameNullOrMatchesWithBrowserVersionMatchesOrNull
            .add(PropertyFactoryUtil.forName("browser").isNull());
    browserNameNullOrMatchesWithBrowserVersionMatchesOrNull
            .add(browserNameMatchesAndBrowserVersionMathcesOrNull);

    // Pointing device query part
    Junction pointingMethodMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    pointingMethodMatchesOrNull
            .add(PropertyFactoryUtil.forName("pointingMethod").eq(device.getPointingMethod()));
    pointingMethodMatchesOrNull.add(PropertyFactoryUtil.forName("pointingMethod").isNull());

    // Is tablet query part
    Junction tabletMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    tabletMatchesOrNull.add(PropertyFactoryUtil.forName("tablet").eq(Boolean.toString(device.isTablet())));
    tabletMatchesOrNull.add(PropertyFactoryUtil.forName("tablet").isNull());

    // Has qwerty keyboard query part
    Junction qwertyKeyboardMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    qwertyKeyboardMatchesOrNull
            .add(PropertyFactoryUtil.forName("qwertyKeyboad").eq(Boolean.toString(device.hasQwertyKeyboard())));
    qwertyKeyboardMatchesOrNull.add(PropertyFactoryUtil.forName("qwertyKeyboad").isNull());

    // Page query part
    Junction pageMatchesOrNull = RestrictionsFactoryUtil.disjunction();
    pageMatchesOrNull.add(PropertyFactoryUtil.forName("layoutId").eq(0l));
    pageMatchesOrNull.add(PropertyFactoryUtil.forName("layoutId").eq(layoutId));

    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Rule.class);
    dynamicQuery.add(PropertyFactoryUtil.forName("companyId").eq(companyId));
    dynamicQuery.add(PropertyFactoryUtil.forName("groupId").eq(groupId));
    dynamicQuery.add(pageMatchesOrNull);
    dynamicQuery.add(brandNullOrMatchesWithModelMatchesOrNull);
    dynamicQuery.add(osNameNullOrMatchesWithOsVersionMathcesOrNull);
    dynamicQuery.add(browserNameNullOrMatchesWithBrowserVersionMatchesOrNull);
    dynamicQuery.add(pointingMethodMatchesOrNull);
    dynamicQuery.add(tabletMatchesOrNull);
    dynamicQuery.add(qwertyKeyboardMatchesOrNull);
    dynamicQuery.addOrder(OrderFactoryUtil.desc("layoutId"));
    dynamicQuery.addOrder(OrderFactoryUtil.asc("priority"));

    try {
        result = RuleUtil.findWithDynamicQuery(dynamicQuery);
    } catch (SystemException e) {
        _log.error("Failed to find theme rules matching " + device, e);
    }
    return result;
}

From source file:com.fsoft.bn.service.impl.ScheduleLocalServiceImpl.java

License:Open Source License

/**
 * @param start//  www.  jav a2s.c  om
 * @param end
 * @param keyword
 * @return
 * @throws SystemException
 */
@SuppressWarnings("unchecked")
private List<User> getAllUsersOrderBy(int start, int end, String keyword) throws SystemException {
    List<User> allUsers = new ArrayList<User>();
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(User.class,
            PortalClassLoaderUtil.getClassLoader());
    OrderByComparator order = OrderByComparatorFactoryUtil.create("USER_", "firstName", "middleName",
            "lastName", true);

    if (null != keyword && !StringUtils.isBlank(keyword)) {
        String key = "%" + keyword.trim() + "%";
        Junction junction = RestrictionsFactoryUtil.disjunction();
        junction.add(RestrictionsFactoryUtil.ilike("firstName", key))
                .add(RestrictionsFactoryUtil.ilike("lastName", key))
                .add(RestrictionsFactoryUtil.ilike("middleName", key))
                .add(RestrictionsFactoryUtil.ilike("jobTitle", key));
        dynamicQuery.add(junction);
        allUsers.addAll(UserLocalServiceUtil.dynamicQuery(dynamicQuery, start, end, order));
        Set<User> set = new HashSet<User>(allUsers);
        allUsers = new ArrayList<User>(set);
    } else {
        allUsers = UserLocalServiceUtil.dynamicQuery(dynamicQuery, start, end, order);
    }
    return allUsers;
}

From source file:com.fsoft.bn.service.impl.StaffInfoLocalServiceImpl.java

License:Open Source License

public List<StaffInfo> searchStaffInfo(String content, String typeSearch, long organization, int begin, int end)
        throws SystemException {
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(StaffInfoImpl.class)
            .add(PropertyFactoryUtil.forName("deleted").eq(false));
    Junction junction = RestrictionsFactoryUtil.disjunction();
    if (organization > 0) {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("organizations_id", organization));
    }/*  ww  w  .  j a v  a 2 s .  c  om*/
    if (!StringUtil.isEmpty(content)) {
        content = "%" + content + "%";
        if ("All".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_role", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_phone", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_email", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_firstname", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_middlename", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_lastname", content));
        } else if ("Role".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_role", content));
        } else if ("Phone".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_phone", content));
        } else if ("Email".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_email", content));
        } else if ("Name".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_firstname", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_middlename", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_lastname", content));
        }
    }
    dynamicQuery.add(junction);
    List<StaffInfo> staffInfosList = StaffInfoUtil.findWithDynamicQuery(dynamicQuery, begin, end);
    return staffInfosList;
    //return StaffInfoFinderUtil.searchStaffInfo(content, typeSearch, organization, begin, end);
}

From source file:com.fsoft.bn.service.impl.StaffInfoLocalServiceImpl.java

License:Open Source License

public int countResultSearchStaffInfo(String content, String typeSearch, long organization)
        throws SystemException {
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(StaffInfoImpl.class)
            .add(PropertyFactoryUtil.forName("deleted").eq(false));
    Junction junction = RestrictionsFactoryUtil.disjunction();
    if (organization > 0) {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("organizations_id", organization));
    }/*from   w  w  w . j a v a  2 s  .c o m*/
    if (!StringUtil.isEmpty(content)) {
        content = "%" + content + "%";
        if ("All".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_role", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_phone", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_email", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_firstname", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_middlename", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_lastname", content));
        } else if ("Role".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_role", content));
        } else if ("Phone".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_phone", content));
        } else if ("Email".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_email", content));
        } else if ("Name".equals(typeSearch)) {
            junction.add(RestrictionsFactoryUtil.ilike("staff_firstname", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_middlename", content));
            junction.add(RestrictionsFactoryUtil.ilike("staff_lastname", content));
        }
    }
    dynamicQuery.add(junction);
    List<StaffInfo> staffInfosList = StaffInfoUtil.findWithDynamicQuery(dynamicQuery);
    if (staffInfosList == null) {
        return 0;
    }

    return staffInfosList.size();
    //return StaffInfoFinderUtil.countResultSearchStaffInfo(content, typeSearch, organization);
}

From source file:com.htmsd.slayer.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public List<ShoppingItem> searchItems(int status, String keyword, int start, int end) {

    String likeKeyword = StringUtil.quote(keyword, StringPool.PERCENT);
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(ShoppingItem.class);

    Junction junctionOR = RestrictionsFactoryUtil.disjunction();

    Property property = PropertyFactoryUtil.forName("userName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("updateUserName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("name");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("productCode");
    junctionOR.add(property.like(likeKeyword));

    dynamicQuery.add(junctionOR);//w w  w.j  a  va2s.  c o  m

    dynamicQuery.add(RestrictionsFactoryUtil.eq("status", status));

    List<ShoppingItem> searchList = new ArrayList<ShoppingItem>();
    try {
        searchList = ShoppingItemLocalServiceUtil.dynamicQuery(dynamicQuery, start, end);
    } catch (SystemException e) {
    }
    return searchList;
}

From source file:com.htmsd.slayer.service.impl.ShoppingItemLocalServiceImpl.java

License:Open Source License

public int searchCount(int status, String keyword) {

    String likeKeyword = StringUtil.quote(keyword, StringPool.PERCENT);
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(ShoppingItem.class);

    Junction junctionOR = RestrictionsFactoryUtil.disjunction();

    Property property = PropertyFactoryUtil.forName("userName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("updateUserName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("name");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("productCode");
    junctionOR.add(property.like(likeKeyword));

    dynamicQuery.add(junctionOR);//from www  . ja  va 2 s  .  co  m

    dynamicQuery.add(RestrictionsFactoryUtil.eq("status", status));
    int searchCount = 0;
    try {
        searchCount = (int) ShoppingItemLocalServiceUtil.dynamicQueryCount(dynamicQuery);
    } catch (SystemException e) {
    }
    return searchCount;

}

From source file:com.htmsd.slayer.service.impl.ShoppingOrderLocalServiceImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<ShoppingOrder> searchShoppingOrder(int start, int end, long sellerId, boolean isSellerList,
        String keyword, String tabName) {

    _log.info("In searchShoppingOrder keyword is :-->> " + keyword);
    String likeKeyword = StringUtil.quote(keyword, StringPool.PERCENT);
    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(ShoppingOrder.class);
    Junction junctionOR = RestrictionsFactoryUtil.disjunction();

    Property property = PropertyFactoryUtil.forName("sellerName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("userName");
    junctionOR.add(property.like(likeKeyword));

    if (CommonUtil.isNumeric(keyword)) {
        property = PropertyFactoryUtil.forName("quantity");
        junctionOR.add(property.eq(Integer.valueOf(keyword)));
    }/* w ww . j  av a 2  s.c  o  m*/

    if (keyword.startsWith("HT")) {
        String orderId = keyword.substring(7, keyword.length());
        _log.info("Order ItemId is ==>" + Long.valueOf(orderId));
        junctionOR.add(RestrictionsFactoryUtil.eq("orderId", Long.valueOf(orderId)));
    }

    if (keyword.contains("-")) {
        Criterion criterion = PropertyFactoryUtil.forName("createDate")
                .between(getFromDateAndToDate(0, 0, 0, keyword), getFromDateAndToDate(23, 59, 59, keyword));
        junctionOR.add(criterion);
    }

    dynamicQuery.add(junctionOR);

    if (isSellerList) {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("sellerId", sellerId));
    } else {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("orderStatus", getOrderStatusByTabName(tabName)));
    }

    List<ShoppingOrder> searchList = new ArrayList<ShoppingOrder>();
    try {
        searchList = ShoppingOrderLocalServiceUtil.dynamicQuery(dynamicQuery, start, end);
    } catch (SystemException e) {
        e.printStackTrace();
    }

    return searchList;
}

From source file:com.htmsd.slayer.service.impl.ShoppingOrderLocalServiceImpl.java

License:Open Source License

public int searchCount(long sellerId, boolean isSellerList, String tabName, String keyword) {

    _log.info("searchCount for Keyword :" + keyword);

    String likeKeyword = StringUtil.quote(keyword, StringPool.PERCENT);

    DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(ShoppingOrder.class);
    Junction junctionOR = RestrictionsFactoryUtil.disjunction();

    Property property = PropertyFactoryUtil.forName("sellerName");
    junctionOR.add(property.like(likeKeyword));

    property = PropertyFactoryUtil.forName("userName");
    junctionOR.add(property.like(likeKeyword));

    if (CommonUtil.isNumeric(keyword)) {
        property = PropertyFactoryUtil.forName("quantity");
        junctionOR.add(property.eq(Integer.valueOf(keyword)));
    }/*  ww  w .  j ava 2s  . co m*/

    if (keyword.startsWith("HT")) {
        String orderId = keyword.substring(7, keyword.length());
        junctionOR.add(RestrictionsFactoryUtil.eq("orderId", Long.valueOf(orderId)));
    }

    if (keyword.contains("-")) {
        Criterion criterion = PropertyFactoryUtil.forName("createDate")
                .between(getFromDateAndToDate(0, 0, 0, keyword), getFromDateAndToDate(23, 59, 59, keyword));
        junctionOR.add(criterion);
    }

    dynamicQuery.add(junctionOR);

    if (isSellerList) {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("sellerId", sellerId));
    } else {
        dynamicQuery.add(RestrictionsFactoryUtil.eq("orderStatus", getOrderStatusByTabName(tabName)));
    }

    int searchCount = 0;
    try {
        searchCount = (int) ShoppingOrderLocalServiceUtil.dynamicQueryCount(dynamicQuery);
    } catch (SystemException e) {
        e.printStackTrace();
    }

    return searchCount;
}

From source file:com.liferay.bbb.service.impl.BBBMeetingLocalServiceImpl.java

License:Open Source License

protected DynamicQuery buildDynamicQuery(long groupId, long userId, String name, String description, int status,
        boolean andSearch) {

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

    if (groupId > 0) {
        Property property = PropertyFactoryUtil.forName("groupId");

        dynamicQuery.add(property.eq(groupId));
    }// w  ww  .  ja v a  2  s  .com

    if (userId > 0) {
        Property property = PropertyFactoryUtil.forName("userId");

        dynamicQuery.add(property.eq(userId));
    }

    if (status != BBBMeetingConstants.STATUS_ANY) {
        Property property = PropertyFactoryUtil.forName("status");

        dynamicQuery.add(property.eq(status));
    }

    Junction junction = null;

    if (andSearch) {
        junction = RestrictionsFactoryUtil.conjunction();
    } else {
        junction = RestrictionsFactoryUtil.disjunction();
    }

    if (Validator.isNotNull(name)) {
        Property property = PropertyFactoryUtil.forName("name");

        String value = StringUtil.quote(name, StringPool.PERCENT);

        junction.add(property.like(value));
    }

    if (Validator.isNotNull(description)) {
        Property property = PropertyFactoryUtil.forName("description");

        String value = StringUtil.quote(description, StringPool.PERCENT);

        junction.add(property.like(value));
    }

    dynamicQuery.add(junction);

    return dynamicQuery;
}