Example usage for org.hibernate.criterion Restrictions ilike

List of usage examples for org.hibernate.criterion Restrictions ilike

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions ilike.

Prototype

public static Criterion ilike(String propertyName, Object value) 

Source Link

Document

A case-insensitive "like" (similar to Postgres ilike operator)

Usage

From source file:com.indicator_engine.dao.GLAIndicatorDaoImpl.java

License:Open Source License

/**
 * Searches for Indicators based on their Name
 *
 * @param searchParameter/*from   w w  w . j a  va 2  s. co m*/
 *            Name to be searched for
 * @param exactSearch
 *            True for exact Search, False for Similarity Search
 * @param colName
 *            Column Name to be used for Sorting the results
 * @param sortDirection
 *            Sort Direction : Ascending/Descending
 * @param sort
 *            True for sorting Required and False to set sorting of results off.
 *
 * @return Returns the Result of Similar or Exact search as a List<GLAIndicator>
 */

@Override
@Transactional
public List<GLAIndicator> searchIndicatorsName(String searchParameter, boolean exactSearch, String colName,
        String sortDirection, boolean sort) {
    if (!exactSearch)
        searchParameter = "%" + searchParameter + "%";
    Session session = factory.getCurrentSession();
    Criteria criteria = session.createCriteria(GLAIndicator.class);
    criteria.setFetchMode("queries", FetchMode.JOIN);
    criteria.setFetchMode("glaIndicatorProps", FetchMode.JOIN);
    if (!exactSearch)
        criteria.add(Restrictions.ilike("indicator_name", searchParameter));
    else
        criteria.add(Restrictions.eq("indicator_name", searchParameter));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    if (sort) {
        if (sortDirection.equals("asc"))
            criteria.addOrder(Order.asc(colName));
        else
            criteria.addOrder(Order.desc(colName));
    }
    return criteria.list();
}

From source file:com.indicator_engine.dao.GLAOperationsDaoImpl.java

License:Open Source License

@Override
@Transactional/*from   w  w w  . j av a  2 s  . c  o m*/
public List<GLAOperations> searchOperationsByName(String searchParameter, boolean exactSearch, String colName,
        String sortDirection, boolean sort) {
    if (!exactSearch)
        searchParameter = "%" + searchParameter + "%";
    Session session = factory.getCurrentSession();
    Criteria criteria = session.createCriteria(GLAOperations.class);
    if (!exactSearch)
        criteria.add(Restrictions.ilike("operations", searchParameter));
    else
        criteria.add(Restrictions.eq("operations", searchParameter));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    if (sort) {
        if (sortDirection.equals("asc"))
            criteria.addOrder(Order.asc(colName));
        else
            criteria.addOrder(Order.desc(colName));
    }
    return criteria.list();
}

From source file:com.indicator_engine.dao.GLAQuestionDaoImpl.java

License:Open Source License

/**
 * Loads an existing Indicator from the Database. Looks up using name in the Database. It does a similarity search in the database.
 * @param questionName Name of the Indicator used for lookup.
 * @return A List of similarly named Indicators present in the Database.
 *//*  w  w w .ja v a2s .c  om*/
@Override
@Transactional
public List<GLAQuestion> loadByQuestionName(String questionName, boolean exact) {
    Session session = factory.getCurrentSession();
    questionName = "%" + questionName + "%";
    Criteria criteria = session.createCriteria(GLAQuestion.class);
    criteria.setFetchMode("glaIndicators", FetchMode.JOIN);
    criteria.setFetchMode("glaQuestionProps", FetchMode.JOIN);
    if (exact)
        criteria.add(Restrictions.eq("question_name", questionName));
    else
        criteria.add(Restrictions.ilike("question_name", questionName));

    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return criteria.list();

}

From source file:com.indicator_engine.dao.GLAQuestionDaoImpl.java

License:Open Source License

@Override
@Transactional/* w w w  .j av  a2s .  c  o  m*/
public List<GLAQuestion> searchQuestionsName(String searchParameter, boolean exactSearch, String colName,
        String sortDirection, boolean sort) {
    if (!exactSearch)
        searchParameter = "%" + searchParameter + "%";
    Session session = factory.getCurrentSession();
    Criteria criteria = session.createCriteria(GLAQuestion.class);
    criteria.setFetchMode("glaIndicators", FetchMode.JOIN);
    criteria.setFetchMode("glaQuestionProps", FetchMode.JOIN);
    if (!exactSearch)
        criteria.add(Restrictions.ilike("question_name", searchParameter));
    else
        criteria.add(Restrictions.eq("question_name", searchParameter));
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    if (sort) {
        if (sortDirection.equals("asc"))
            criteria.addOrder(Order.asc(colName));
        else
            criteria.addOrder(Order.desc(colName));
    }
    return criteria.list();
}

From source file:com.indicator_engine.dao.GLAUserDaoImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*  ww  w .ja  v  a 2 s .c o m*/
public List<GLAUser> searchLikeUsers(String searchParameter, String colName, String sortDirection,
        boolean sort) {
    searchParameter = "%" + searchParameter + "%";
    Session session = factory.getCurrentSession();
    Criteria criteria = session.createCriteria(GLAUser.class);
    criteria.setFetchMode("events", FetchMode.JOIN);
    criteria.add(Restrictions.ilike("username", searchParameter));
    if (sort) {
        if (sortDirection.equals("asc"))
            criteria.addOrder(Order.asc(colName));
        else
            criteria.addOrder(Order.desc(colName));
    }
    return criteria.list();
}

From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java

License:Open Source License

private DetachedCriteria createTenantSearchCriteria(String tenantId, boolean isCaseSensitive) {
    DetachedCriteria criteria = DetachedCriteria.forClass(persistentTenantClass());

    criteria.add(//w ww.j  a va 2  s . com
            isCaseSensitive ? Restrictions.eq("tenantId", tenantId) : Restrictions.ilike("tenantId", tenantId));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

private DetachedCriteria createUserSearchCriteria(String username, RepoTenant tenant, boolean isCaseSensitive) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentUserClass());

    criteria.add(//from   w  w  w.j a  v  a 2  s  .  c o  m
            isCaseSensitive ? Restrictions.eq("username", username) : Restrictions.ilike("username", username));
    criteria.add(Restrictions.eq("tenant", tenant));
    criteria.getExecutableCriteria(getSession()).setCacheable(true);

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected Criteria createTenantRolesCriteria(Session session, Set tenantIds, String name, boolean order) {

    Criteria criteria = session.createCriteria(getPersistentRoleClass());
    String roleNameField = "roleName";

    addTenantCriteria(criteria, tenantIds);

    if (name != null && name.trim().length() > 0) {
        Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + name.trim() + "%");
        criteria.add(roleNameCriterion);
    }/*from  w w  w.jav  a  2  s.  c  o  m*/

    if (order) {
        criteria.addOrder(Order.asc(roleNameField));
    }

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected DetachedCriteria createAvailableRolesCriteria(String roleName, Set userRoles, String userName,
        boolean order) {

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());
    String roleNameField = "roleName";
    String externallyDefinedField = "externallyDefined";

    if (userRoles != null && userRoles.size() > 0) {

        List userRoleIdList = getRoleIdList(userRoles);
        criteria.add(Restrictions.not(Restrictions.in("id", userRoleIdList)));
    }/* www.  j av  a 2s  .c  om*/

    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleName.trim() + "%");
    criteria.add(roleNameCriterion);

    criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE));

    if (order) {
        criteria.addOrder(Order.asc(roleNameField));
    }

    return criteria;
}

From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java

License:Open Source License

protected DetachedCriteria createAvailableRolesCriteria(ExecutionContext context, String userName, String text,
        boolean order) {
    final String roleNameField = "roleName";
    final String externallyDefinedField = "externallyDefined";

    RepoUser user = getRepoUser(context, userName);

    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass());

    List<Long> assignedRolesIds = getUserRolesIds(user);
    if (assignedRolesIds != null && assignedRolesIds.size() > 0) {
        criteria.add(Restrictions.not(Restrictions.in("id", assignedRolesIds)));
    }/*ww w.j  a  v  a 2 s.  co m*/

    final String roleNameLikeValue = text == null ? "" : text;
    Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleNameLikeValue + "%");
    criteria.add(roleNameCriterion);

    criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE));

    if (order) {
        criteria.addOrder(Order.asc(roleNameField));
    }

    return criteria;
}