Example usage for org.hibernate.type IntegerType INSTANCE

List of usage examples for org.hibernate.type IntegerType INSTANCE

Introduction

In this page you can find the example usage for org.hibernate.type IntegerType INSTANCE.

Prototype

IntegerType INSTANCE

To view the source code for org.hibernate.type IntegerType INSTANCE.

Click Source Link

Usage

From source file:com.court.controller.HomeFXMLController.java

private Criterion filterByMonthCriterion(final String propertyName) {

    return new Criterion() {

        final int month = new Date().getMonth() + 1;

        @Override//from   w w w. ja  v a  2  s.c o  m
        public String toSqlString(Criteria crtr, CriteriaQuery cq) throws HibernateException {
            String[] columns = cq.getColumns(propertyName, crtr);
            if (columns.length != 1) {
                throw new HibernateException("monthEq may only be used with single-column properties");
            }
            return "month(" + columns[0] + ") = ?";
        }

        @Override
        public TypedValue[] getTypedValues(Criteria crtr, CriteriaQuery cq) throws HibernateException {
            return new TypedValue[] { new TypedValue(IntegerType.INSTANCE, month, EntityMode.POJO) };
        }

        @Override
        public String toString() {
            return "month(" + propertyName + ") = " + month;
        }

    };
}

From source file:com.dungnv.streetfood.business.ArticleBusiness.java

License:Open Source License

@Override
public List<ArticleDTO> getListArticleDTOLess(String userName, String localeCode, String countryCode,
        String token, ArticleDTO dto, int rowStart, int maxRow, boolean isCount, String sortType,
        String sortFieldList) {//w w  w  .j a  v  a  2 s .c om
    StringBuilder sbQuery = new StringBuilder();
    List<Object> listParam = new ArrayList<>();
    List<Type> listType = new ArrayList<>();

    if (isCount) {
        sbQuery.append(" select count(a.id) as id from article a where 1=1 ");
    } else {
        sbQuery.append(" select a.id");
        sbQuery.append(" , a.title");
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            sbQuery.append(" , a.short_content shortContent");
            sbQuery.append(" , a.view_count viewCount");
            sbQuery.append(" , g.id imageId");
            sbQuery.append(" , g.url imageUrl");
        }

        sbQuery.append("  from article a left outer join img g on a.id = g.article_id and g.orders = 1");
        sbQuery.append(" where 1 = 1");
    }

    if (dto != null) {
        StringUtils.trimString(dto, false);

        if (!StringUtils.isNullOrEmpty(dto.getId())) {
            sbQuery.append(" AND  a.id = ?");
            listParam.add(Long.valueOf(dto.getId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRestaurantId())) {
            sbQuery.append(
                    " AND a.id in ( select article_id from restaurant_article where restaurant_id = ? ) ");
            listParam.add(Long.valueOf(dto.getRestaurantId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotRestaurantId())) {
            sbQuery.append(
                    " AND a.id not in ( select article_id from restaurant_article where restaurant_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotRestaurantId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getDishId())) {
            sbQuery.append(" AND a.id in ( select article_id from dish_article where dish_id = ? ) ");
            listParam.add(Long.valueOf(dto.getDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotDishId())) {
            sbQuery.append(" AND a.id not in ( select article_id from dish_article where dish_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getTitle())) {
            sbQuery.append(" AND lower(a.title) like ? ");
            listParam.add("%" + dto.getTitle().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }
        if (!StringUtils.isNullOrEmpty(dto.getShortContent())) {
            sbQuery.append(" AND lower(a.short_content) like ? ");
            listParam.add("%" + dto.getShortContent().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getContent())) {
            sbQuery.append(" AND lower(a.content) like ? ");
            listParam.add("%" + dto.getContent().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (dto.getListTag() != null && !dto.getListTag().isEmpty()) {
            sbQuery.append(" AND  a.id in (select article_id from tag_article where tag_id in ");
            sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size()));
            sbQuery.append(" )");
            List<String> listTag = dto.getListTag();
            for (String tagId : listTag) {
                listParam.add(Long.valueOf(tagId));
                listType.add(LongType.INSTANCE);
            }
        }
    }

    if (!isCount) {
        sbQuery.append(" order by a.title DESC");
        if (maxRow != 0) {
            sbQuery.append(" limit ?, ?");
            listParam.add(rowStart);
            listType.add(IntegerType.INSTANCE);
            listParam.add(maxRow);
            listType.add(IntegerType.INSTANCE);
        }

    }

    SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString());
    query.addScalar("id", StringType.INSTANCE);
    if (!isCount) {
        query.addScalar("title", StringType.INSTANCE);
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            query.addScalar("shortContent", StringType.INSTANCE);
            query.addScalar("viewCount", StringType.INSTANCE);
            query.addScalar("imageId", StringType.INSTANCE);
            query.addScalar("imageUrl", StringType.INSTANCE);
        }
    }

    query.setResultTransformer(Transformers.aliasToBean(ArticleDTO.class));

    for (int i = 0; i < listParam.size(); i++) {
        query.setParameter(i, listParam.get(i), listType.get(i));
    }

    List<ArticleDTO> list = query.list();
    return list;
}

From source file:com.dungnv.streetfood.business.DishBusiness.java

License:Open Source License

@Override
public List<DishDTO> getListDishDTOLess(String userName, String localeCode, String countryCode, String token,
        DishDTO dto, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) {
    StringBuilder sbQuery = new StringBuilder();
    List<Object> listParam = new ArrayList<>();
    List<Type> listType = new ArrayList<>();

    if (isCount) {
        sbQuery.append(" select count(c.id) as id from dish c where 1=1 ");
    } else {/* w w w. j a va  2  s . co m*/
        sbQuery.append(" select c.id , c.name");
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            sbQuery.append(" , c.short_description shortDescription");
            sbQuery.append(" , c.dish_status dishStatus");
            sbQuery.append(" , c.view_count viewCount");
            sbQuery.append(" , c.comment_count commentCount ");
            sbQuery.append(" , c.share_count shareCount");
            sbQuery.append(" , c.rating ");
            sbQuery.append(" , g.id imageId");
            sbQuery.append(" , g.url imageUrl");
        }

        sbQuery.append(" from dish c left outer join img g on c.id = g.dish_id and g.orders = 1 ");
        sbQuery.append(" where 1=1");
    }

    if (dto != null) {
        StringUtils.trimString(dto, false);

        if (!StringUtils.isNullOrEmpty(dto.getId())) {
            sbQuery.append(" AND  c.id = ?");
            listParam.add(Long.valueOf(dto.getId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getName())) {
            sbQuery.append(" AND lower(c.name) like ? ");
            listParam.add("%" + dto.getName().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCategoryId())) {
            sbQuery.append(" AND c.id in ( select dish_id from category_dish where category_id = ? ) ");
            listParam.add(Long.valueOf(dto.getCategoryId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotCategoryId())) {
            sbQuery.append(" AND c.id not in ( select dish_id from category_dish where category_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotCategoryId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getArticleId())) {
            sbQuery.append(" AND c.id in ( select dish_id from dish_article where article_id = ? ) ");
            listParam.add(Long.valueOf(dto.getArticleId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotArticleId())) {
            sbQuery.append(" AND c.id not in ( select dish_id from dish_article where article_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotArticleId()));
            listType.add(LongType.INSTANCE);
        }
        if (!StringUtils.isNullOrEmpty(dto.getRestaurantId())) {
            sbQuery.append(
                    " AND c.id in ( select dish_id from restaurant_dish_detail where restaurant_id = ? ) ");
            listParam.add(Long.valueOf(dto.getRestaurantId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotRestaurantId())) {
            sbQuery.append(
                    " AND c.id not in ( select dish_id from restaurant_dish_detail where restaurant_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotRestaurantId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getDishStatus())) {
            sbQuery.append(" AND c.dish_status = ? ");
            listParam.add(Long.valueOf(dto.getDishStatus()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getShortDescription())) {
            sbQuery.append(" AND lower(c.description) like ? ");
            listParam.add("%" + dto.getShortDescription().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getLongDescription())) {
            sbQuery.append(" AND lower(c.long_description) like ? ");
            listParam.add("%" + dto.getLongDescription().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getViewCountFrom())) {
            sbQuery.append(" AND c.view_count >= ? ");
            listParam.add(Long.valueOf(dto.getViewCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getViewCountTo())) {
            sbQuery.append(" AND c.view_count <= ? ");
            listParam.add(Long.valueOf(dto.getViewCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCommentCountFrom())) {
            sbQuery.append(" AND c.comment_count >= ? ");
            listParam.add(Long.valueOf(dto.getCommentCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCommentCountTo())) {
            sbQuery.append(" AND c.comment_count <= ? ");
            listParam.add(Long.valueOf(dto.getCommentCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getShareCountFrom())) {
            sbQuery.append(" AND c.share_count >= ? ");
            listParam.add(Long.valueOf(dto.getShareCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getShareCountTo())) {
            sbQuery.append(" AND c.share_count <= ? ");
            listParam.add(Long.valueOf(dto.getShareCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRatingFrom())) {
            sbQuery.append(" AND c.rating >= ? ");
            listParam.add(Double.valueOf(dto.getRatingFrom()));
            listType.add(DoubleType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRatingTo())) {
            sbQuery.append(" AND c.rating <= ? ");
            listParam.add(Double.valueOf(dto.getRatingTo()));
            listType.add(DoubleType.INSTANCE);
        }

        if (dto.getListTag() != null && !dto.getListTag().isEmpty()) {
            sbQuery.append(" AND  c.id in (select dish_id from tag_dish where tag_id in ");
            sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size()));
            sbQuery.append(" )");
            List<String> listTag = dto.getListTag();
            for (String tagId : listTag) {
                listParam.add(Long.valueOf(tagId));
                listType.add(LongType.INSTANCE);
            }
        }

        if (dto.getListNotLocale() != null && !dto.getListNotLocale().isEmpty()) {
            sbQuery.append(" AND not exists (select l.dish_id from dish_language l where l.language_code in ");
            sbQuery.append(QueryUtil.getParameterHolderString(dto.getListNotLocale().size()));
            sbQuery.append(" AND l.dish_id = c.id )");
            List<String> listNotLocale = dto.getListNotLocale();
            for (String notLocale : listNotLocale) {
                listParam.add(notLocale);
                listType.add(StringType.INSTANCE);
            }
        }
        if (dto.getListLocale() != null && !dto.getListLocale().isEmpty()) {

            for (String locale : dto.getListLocale()) {
                sbQuery.append(" AND exists (select l.dish_id from dish_language l where l.language_code = ? ");
                sbQuery.append(" AND l.dish_id = c.id )");
                listParam.add(locale);
                listType.add(StringType.INSTANCE);
            }
        }
    }

    if (!isCount) {
        sbQuery.append(" order by c.name DESC");
        if (maxRow != 0) {
            sbQuery.append(" limit ?, ?");
            listParam.add(rowStart);
            listType.add(IntegerType.INSTANCE);
            listParam.add(maxRow);
            listType.add(IntegerType.INSTANCE);
        }
    }

    SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString());
    query.addScalar("id", StringType.INSTANCE);
    if (!isCount) {
        query.addScalar("name", StringType.INSTANCE);
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            query.addScalar("shortDescription", StringType.INSTANCE);
            query.addScalar("dishStatus", StringType.INSTANCE);
            query.addScalar("viewCount", StringType.INSTANCE);
            query.addScalar("commentCount", StringType.INSTANCE);
            query.addScalar("shareCount", StringType.INSTANCE);
            query.addScalar("rating", StringType.INSTANCE);
            query.addScalar("imageId", StringType.INSTANCE);
            query.addScalar("imageUrl", StringType.INSTANCE);
        }
    }

    query.setResultTransformer(Transformers.aliasToBean(DishDTO.class));

    for (int i = 0; i < listParam.size(); i++) {
        query.setParameter(i, listParam.get(i), listType.get(i));
    }

    List<DishDTO> list = query.list();
    return list;
}

From source file:com.dungnv.streetfood.business.RestaurantBusiness.java

License:Open Source License

@Override
public List<RestaurantDTO> getListRestaurantDTOLess(String userName, String localeCode, String countryCode,
        String token, RestaurantDTO dto, int rowStart, int maxRow, boolean isCount, String sortType,
        String sortFieldList) {/*from  w ww.j a  va 2  s  .c  o m*/
    StringBuilder sbQuery = new StringBuilder();
    List<Object> listParam = new ArrayList<>();
    List<Type> listType = new ArrayList<>();

    if (isCount) {
        sbQuery.append(" select count(r.id) as id from restaurant r where 1=1 ");
    } else {
        sbQuery.append(" select ");
        sbQuery.append(" r.id");
        sbQuery.append(" , r.name");
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            sbQuery.append(" , r.address");
            sbQuery.append(" , r.restaurant_status restaurantStatus");
            sbQuery.append(" , r.view_count viewCount");
            sbQuery.append(" , r.comment_count commentCount");
            sbQuery.append(" , r.share_count shareCount");
            sbQuery.append(" , r.rating");
            sbQuery.append(" , g.id imageId");
            sbQuery.append(" , g.url imageUrl");
        }

        sbQuery.append(" from restaurant r left outer join img g on r.id = g.restaurant_id and g.orders = 1");
        sbQuery.append(" where 1 = 1");
    }

    if (dto != null) {
        StringUtils.trimString(dto, false);

        if (!StringUtils.isNullOrEmpty(dto.getId())) {
            sbQuery.append(" AND  r.id = ?");
            listParam.add(Long.valueOf(dto.getId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getArticleId())) {
            sbQuery.append(
                    " AND r.id in ( select restaurant_id from restaurant_article where article_id = ? ) ");
            listParam.add(Long.valueOf(dto.getArticleId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotArticleId())) {
            sbQuery.append(
                    " AND r.id not in ( select restaurant_id from restaurant_article where article_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotArticleId()));
            listType.add(LongType.INSTANCE);
        }
        if (!StringUtils.isNullOrEmpty(dto.getDishId())) {
            sbQuery.append(
                    " AND r.id in ( select restaurant_id from restaurant_dish_detail where dish_id = ? ) ");
            listParam.add(Long.valueOf(dto.getDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getNotDishId())) {
            sbQuery.append(
                    " AND r.id not in ( select restaurant_id from restaurant_dish_detail where dish_id = ? ) ");
            listParam.add(Long.valueOf(dto.getNotDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getName())) {
            sbQuery.append(" AND lower(r.name) like ? ");
            listParam.add("%" + dto.getName().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getAddress())) {
            sbQuery.append(" AND lower(r.address) like ? ");
            listParam.add("%" + dto.getAddress().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getIntroduce())) {
            sbQuery.append(" AND lower(r.introduce) like ? ");
            listParam.add("%" + dto.getIntroduce().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getPhoneNumber())) {
            sbQuery.append(" AND lower(r.phone_number) like ? ");
            listParam.add("%" + dto.getPhoneNumber().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCapacity())) {
            sbQuery.append(" AND lower(r.capacity) like ? ");
            listParam.add("%" + dto.getCapacity().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRestaurantStatus())) {
            sbQuery.append(" AND r.restaurant_status = ? ");
            listParam.add(Long.valueOf(dto.getRestaurantStatus()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCarParking())) {
            sbQuery.append(" AND r.car_parking = ? ");
            listParam.add(Long.valueOf(dto.getCarParking()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getMotobikeParking())) {
            sbQuery.append(" AND r.motobike_parking = ? ");
            listParam.add(Long.valueOf(dto.getMotobikeParking()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getViewCountFrom())) {
            sbQuery.append(" AND r.view_count >= ? ");
            listParam.add(Long.valueOf(dto.getViewCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getViewCountTo())) {
            sbQuery.append(" AND r.view_count <= ? ");
            listParam.add(Long.valueOf(dto.getViewCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCommentCountFrom())) {
            sbQuery.append(" AND r.comment_count >= ? ");
            listParam.add(Long.valueOf(dto.getCommentCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getCommentCountTo())) {
            sbQuery.append(" AND r.comment_count <= ? ");
            listParam.add(Long.valueOf(dto.getCommentCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getShareCountFrom())) {
            sbQuery.append(" AND r.share_count >= ? ");
            listParam.add(Long.valueOf(dto.getShareCountFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getShareCountTo())) {
            sbQuery.append(" AND r.share_count <= ? ");
            listParam.add(Long.valueOf(dto.getShareCountTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRatingFrom())) {
            sbQuery.append(" AND r.rating >= ? ");
            listParam.add(Double.valueOf(dto.getRatingFrom()));
            listType.add(DoubleType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getRatingTo())) {
            sbQuery.append(" AND r.rating <= ? ");
            listParam.add(Double.valueOf(dto.getRatingTo()));
            listType.add(DoubleType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getWaitingTimeFrom())) {
            sbQuery.append(" AND r.waiting_time >= ? ");
            listParam.add(Long.valueOf(dto.getWaitingTimeFrom()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getWaitingTimeTo())) {
            sbQuery.append(" AND r.waiting_time <= ? ");
            listParam.add(Long.valueOf(dto.getWaitingTimeTo()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getOperatingTimeStart())) {
            try {
                sbQuery.append(" AND r.operating_time_start >= ? ");
                listParam.add(DateTimeUtils.convertStringToTime(dto.getOperatingTimeStart(), ParamUtils.HHmm));
                listType.add(TimeType.INSTANCE);
            } catch (Exception ex) {
                Logger.getLogger(RestaurantBusiness.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        if (!StringUtils.isNullOrEmpty(dto.getOperatingTimeEnd())) {
            try {
                sbQuery.append(" AND r.operating_time_end <= ? ");
                listParam.add(DateTimeUtils.convertStringToTime(dto.getOperatingTimeEnd(), ParamUtils.HHmm));
                listType.add(TimeType.INSTANCE);
            } catch (Exception ex) {
                Logger.getLogger(RestaurantBusiness.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        if (dto.getListTag() != null && !dto.getListTag().isEmpty()) {
            sbQuery.append(" AND  r.id in (select restaurant_id from tag_restaurant where tag_id in ");
            sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size()));
            sbQuery.append(" )");
            List<String> listTag = dto.getListTag();
            for (String tagId : listTag) {
                listParam.add(Long.valueOf(tagId));
                listType.add(LongType.INSTANCE);
            }
        }

        if (dto.getListNotLocale() != null && !dto.getListNotLocale().isEmpty()) {
            sbQuery.append(
                    " AND not exists (select l.restaurant_id from restaurant_language l where l.language_code in ");
            sbQuery.append(QueryUtil.getParameterHolderString(dto.getListNotLocale().size()));
            sbQuery.append(" AND l.restaurant_id = r.id )");
            List<String> listNotLocale = dto.getListNotLocale();
            for (String notLocale : listNotLocale) {
                listParam.add(notLocale);
                listType.add(StringType.INSTANCE);
            }
        }
        if (dto.getListLocale() != null && !dto.getListLocale().isEmpty()) {

            for (String locale : dto.getListLocale()) {
                sbQuery.append(
                        " AND exists (select l.restaurant_id from restaurant_language l where l.language_code = ? ");
                sbQuery.append(" AND l.restaurant_id = r.id )");
                listParam.add(locale);
                listType.add(StringType.INSTANCE);
            }
        }
    }

    if (!isCount) {
        sbQuery.append(" order by r.name DESC");
        if (maxRow != 0) {
            sbQuery.append(" limit ?, ?");
            listParam.add(rowStart);
            listType.add(IntegerType.INSTANCE);
            listParam.add(maxRow);
            listType.add(IntegerType.INSTANCE);
        }

    }

    SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString());
    query.addScalar("id", StringType.INSTANCE);
    if (!isCount) {
        query.addScalar("name", StringType.INSTANCE);
        if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) {
            query.addScalar("address", StringType.INSTANCE);
            query.addScalar("restaurantStatus", StringType.INSTANCE);
            query.addScalar("viewCount", StringType.INSTANCE);
            query.addScalar("commentCount", StringType.INSTANCE);
            query.addScalar("shareCount", StringType.INSTANCE);
            query.addScalar("rating", StringType.INSTANCE);
            query.addScalar("imageId", StringType.INSTANCE);
            query.addScalar("imageUrl", StringType.INSTANCE);
        }

    }

    query.setResultTransformer(Transformers.aliasToBean(RestaurantDTO.class));

    for (int i = 0; i < listParam.size(); i++) {
        query.setParameter(i, listParam.get(i), listType.get(i));
    }

    List<RestaurantDTO> list = query.list();
    return list;
}

From source file:com.dungnv.streetfood.business.SlideShowBusiness.java

License:Open Source License

@Override
public List<SlideShowDTO> getListSlideShowDTOLess(String userName, String localeCode, String countryCode,
        String token, SlideShowDTO dto, int rowStart, int maxRow, boolean isCount, String sortType,
        String sortFieldList) {//from  ww w.  jav a 2 s.c  o  m
    StringBuilder sbQuery = new StringBuilder();
    List<Object> listParam = new ArrayList<>();
    List<Type> listType = new ArrayList<>();

    if (isCount) {
        sbQuery.append(" select count(a.id) as id from slide_show a where 1=1 ");
    } else {
        sbQuery.append(" select a.id ");
        sbQuery.append(" , a.url");
        sbQuery.append(" , a.name");
        sbQuery.append(" , a.description");
        sbQuery.append(" , a.orders as 'order'");
        sbQuery.append(" , a.valid_from_gmt validFromGmt ");
        sbQuery.append(" , a.valid_to_gmt validToGmt");
        sbQuery.append(" , g.id imageId");
        sbQuery.append(" , g.url imageUrl");
        sbQuery.append(" from slide_show a left outer join img g on a.id = g.slide_show_id and g.orders = 1 ");
        sbQuery.append(" where 1=1");
    }

    if (dto != null) {
        StringUtils.trimString(dto, false);

        if (!StringUtils.isNullOrEmpty(dto.getId())) {
            sbQuery.append(" AND  a.id = ?");
            listParam.add(Long.valueOf(dto.getId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(dto.getName())) {
            sbQuery.append(" AND lower(a.name) like ? ");
            listParam.add("%" + dto.getName().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }
    }

    if (!isCount) {
        sbQuery.append(" order by a.orders DESC");
        if (maxRow != 0) {
            sbQuery.append(" limit ?, ?");
            listParam.add(rowStart);
            listType.add(IntegerType.INSTANCE);
            listParam.add(maxRow);
            listType.add(IntegerType.INSTANCE);
        }

    }

    SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString());
    query.addScalar("id", StringType.INSTANCE);
    if (!isCount) {

        query.addScalar("url", StringType.INSTANCE);
        query.addScalar("name", StringType.INSTANCE);
        query.addScalar("description", StringType.INSTANCE);
        query.addScalar("order", StringType.INSTANCE);
        query.addScalar("validFromGmt", StringType.INSTANCE);
        query.addScalar("validToGmt", StringType.INSTANCE);
        query.addScalar("imageId", StringType.INSTANCE);
        query.addScalar("imageUrl", StringType.INSTANCE);
    }

    query.setResultTransformer(Transformers.aliasToBean(SlideShowDTO.class));

    for (int i = 0; i < listParam.size(); i++) {
        query.setParameter(i, listParam.get(i), listType.get(i));
    }

    List<SlideShowDTO> list = query.list();
    return list;
}

From source file:com.dungnv.streetfood.dao.CategoryDAO.java

License:Open Source License

public List<CategoryDTO> getListCategoryDTOLess(CategoryDTO categoryDTO, int rowStart, int maxRow,
        boolean isCount, String sortType, String sortFieldList) {
    StringBuilder sbQuery = new StringBuilder();
    List<Object> listParam = new ArrayList<>();
    List<Type> listType = new ArrayList<>();

    if (isCount) {
        sbQuery.append(" select count(c.id) as id from Category c where 1=1 ");
    } else {/*from   w w  w. jav  a2s .c o  m*/
        sbQuery.append(" select c.id ");
        sbQuery.append(" , c.name");
        if (categoryDTO == null || !"1".equals(categoryDTO.getIsGetOnlyIdentified())) {
            sbQuery.append(" , c.description");
            sbQuery.append(" , c.category_status categoryStatus");
            sbQuery.append(" , g.id imageId");
            sbQuery.append(" , g.url imageUrl");
        }

        sbQuery.append(" from Category c ");
        sbQuery.append(" left outer join img g on c.id = g.dish_group_id and g.orders = 1  ");
        sbQuery.append(" where 1=1");
    }

    if (categoryDTO != null) {
        StringUtils.trimString(categoryDTO, false);

        if (!StringUtils.isNullOrEmpty(categoryDTO.getId())) {
            sbQuery.append(" AND  c.id = ?");
            listParam.add(Long.valueOf(categoryDTO.getId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(categoryDTO.getDishId())) {
            sbQuery.append(" AND c.id in ( select category_id from category_dish where dish_id = ? ) ");
            listParam.add(Long.valueOf(categoryDTO.getDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(categoryDTO.getNotDishId())) {
            sbQuery.append(" AND c.id not in ( select category_id from category_dish where dish_id = ? ) ");
            listParam.add(Long.valueOf(categoryDTO.getNotDishId()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(categoryDTO.getName())) {
            sbQuery.append(" AND lower(c.name) like ? ");
            listParam.add("%" + categoryDTO.getName().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(categoryDTO.getCategoryStatus())) {
            sbQuery.append(" AND c.category_status = ? ");
            listParam.add(Long.valueOf(categoryDTO.getCategoryStatus()));
            listType.add(LongType.INSTANCE);
        }

        if (!StringUtils.isNullOrEmpty(categoryDTO.getDescription())) {
            sbQuery.append(" AND lower(c.description) like ? ");
            listParam.add("%" + categoryDTO.getDescription().toLowerCase() + "%");
            listType.add(StringType.INSTANCE);
        }

        if (categoryDTO.getListTag() != null && !categoryDTO.getListTag().isEmpty()) {
            sbQuery.append(" AND  c.id in (select category_id from tag_category where tag_id in ");
            sbQuery.append(QueryUtil.getParameterHolderString(categoryDTO.getListTag().size()));
            sbQuery.append(" )");
            List<String> listTag = categoryDTO.getListTag();
            for (String tagId : listTag) {
                listParam.add(Long.valueOf(tagId));
                listType.add(LongType.INSTANCE);
            }
        }

        if (categoryDTO.getListNotLocale() != null && !categoryDTO.getListNotLocale().isEmpty()) {
            sbQuery.append(
                    " AND not exists (select l.dish_group_id from dish_group_langage l where l.language_code in ");
            sbQuery.append(QueryUtil.getParameterHolderString(categoryDTO.getListNotLocale().size()));
            sbQuery.append(" AND l.dish_group_id = c.id )");
            List<String> listNotLocale = categoryDTO.getListNotLocale();
            for (String notLocale : listNotLocale) {
                listParam.add(notLocale);
                listType.add(StringType.INSTANCE);
            }
        }
        if (categoryDTO.getListLocale() != null && !categoryDTO.getListLocale().isEmpty()) {

            for (String locale : categoryDTO.getListLocale()) {
                sbQuery.append(
                        " AND exists (select l.dish_group_id from dish_group_langage l where l.language_code = ? ");
                sbQuery.append(" AND l.dish_group_id = c.id )");
                listParam.add(locale);
                listType.add(StringType.INSTANCE);
            }
        }
    }

    if (!isCount) {
        sbQuery.append(" order by c.name DESC");
        if (maxRow != 0) {
            sbQuery.append(" limit ?, ?");
            listParam.add(rowStart);
            listType.add(IntegerType.INSTANCE);
            listParam.add(maxRow);
            listType.add(IntegerType.INSTANCE);
        }

    }

    SQLQuery query = getSession().createSQLQuery(sbQuery.toString());
    query.addScalar("id", StringType.INSTANCE);
    if (!isCount) {
        query.addScalar("name", StringType.INSTANCE);
        if (categoryDTO == null || !"1".equals(categoryDTO.getIsGetOnlyIdentified())) {
            query.addScalar("description", StringType.INSTANCE);
            query.addScalar("categoryStatus", StringType.INSTANCE);
            query.addScalar("imageId", StringType.INSTANCE);
            query.addScalar("imageUrl", StringType.INSTANCE);
        }
    }

    query.setResultTransformer(Transformers.aliasToBean(CategoryDTO.class));

    for (int i = 0; i < listParam.size(); i++) {
        query.setParameter(i, listParam.get(i), listType.get(i));
    }

    List<CategoryDTO> list = query.list();
    StringUtils.escapeHTMLString(list);
    return list;
}

From source file:com.evolveum.midpoint.repo.sql.helpers.OrgClosureManager.java

License:Apache License

private void rebuild(boolean check, boolean rebuild, boolean stopOnFailure, final Context context,
        final Session session, OperationResult result) throws SchemaException {

    List existingEntries = null;/*from w w  w .j a  v  a2  s.c o m*/
    if (check) {
        LOGGER.info("Reading from existing org closure table");
        Query selectQuery = session
                .createSQLQuery("SELECT descendant_oid, ancestor_oid, val from " + CLOSURE_TABLE_NAME)
                .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE)
                .addScalar("val", IntegerType.INSTANCE);
        existingEntries = selectQuery.list();
        LOGGER.info("{} entries read", existingEntries.size());
    }

    LOGGER.info("Computing org closure table from scratch");

    Query deleteQuery = session.createSQLQuery("delete from " + CLOSURE_TABLE_NAME);
    deleteQuery.executeUpdate();
    LOGGER.trace("Closure table content deleted");

    final int orgsTotal = repositoryService.countObjects(OrgType.class, new ObjectQuery(), result);
    final MutableInt orgsProcessed = new MutableInt(0);

    ResultHandler<OrgType> handler = new ResultHandler<OrgType>() {
        @Override
        public boolean handle(PrismObject<OrgType> object, OperationResult parentResult) {
            LOGGER.trace("Processing {}", object);
            handleAdd(object.getOid(), getParentOidsFromObject(object), context, session);
            orgsProcessed.add(1);
            int currentState = orgsProcessed.intValue();
            if (currentState % 100 == 0) {
                LOGGER.info("{} organizations processed (out of {})", currentState, orgsTotal);
            }
            return true;
        }
    };
    repositoryService.searchObjectsIterative(OrgType.class, new ObjectQuery(), handler, null, false, result);

    LOGGER.info(
            "Org closure table was successfully recomputed (not committed yet); all {} organizations processed",
            orgsTotal);

    if (check) {
        LOGGER.info("Reading from recomputed org closure table");
        Query selectQuery = session
                .createSQLQuery("SELECT descendant_oid, ancestor_oid, val from " + CLOSURE_TABLE_NAME)
                .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE)
                .addScalar("val", IntegerType.INSTANCE);
        List recomputedEntries = selectQuery.list();
        LOGGER.info("{} entries read", recomputedEntries.size());
        compareOrgClosureTables(existingEntries, recomputedEntries, rebuild, result);
    } else {
        result.recordSuccess();
    }
}

From source file:com.evolveum.midpoint.repo.sql.helpers.OrgClosureManager.java

License:Apache License

private int quickCheck(Session session) {
    Query q = session/*w  w  w  .j  av a2  s .co m*/
            .createSQLQuery("select count(m_org.oid) as problems from m_org left join m_org_closure cl "
                    + "on cl.descendant_oid = m_org.oid and cl.ancestor_oid = m_org.oid "
                    + "where cl.descendant_oid is null")
            .addScalar("problems", IntegerType.INSTANCE);
    List problemsList = q.list();
    if (problemsList == null || problemsList.size() != 1) {
        throw new IllegalStateException("Unexpected return value from the closure check query: " + problemsList
                + " (a 1-item list of Integer expected)");
    }
    return (int) problemsList.get(0);
}

From source file:com.evolveum.midpoint.repo.sql.helpers.OrgClosureManager.java

License:Apache License

private void dumpOrgClosureTypeTable(Session session, String tableName) {
    Query q = session.createSQLQuery("select descendant_oid, ancestor_oid, val from " + tableName)
            .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE)
            .addScalar("val", IntegerType.INSTANCE);
    List<Object[]> list = q.list();
    LOGGER.trace("{} ({} rows):", tableName, list.size());
    for (Object[] row : list) {
        LOGGER.trace(" - [d={}, a={}, val={}]", row);
    }//  w  w w. j  ava 2s. c o  m
}

From source file:com.exilant.GLEngine.CoaCache.java

License:Open Source License

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void loadAccountData() {

    /*/*from w  w w  .j a  v a  2  s. com*/
     * 1.Loads all the account codes and details of that as GLAccount objects in theGLAccountCode,theGLAccountId HashMap's
     */

    // Temporary place holders
    final HashMap glAccountCodes = new HashMap();
    final HashMap glAccountIds = new HashMap();
    final HashMap accountDetailType = new HashMap();

    String sql = "select id as \"id\",name as \"name\",tableName as \"tableName\","
            + "description as \"description\",columnName as \"columnName\",attributeName as \"attributeName\""
            + ",nbrOfLevels as  \"nbrOfLevels\" from AccountDetailType";

    final Session currentSession = persistenceService.getSession();
    SQLQuery createSQLQuery = currentSession.createSQLQuery(sql);
    createSQLQuery.addScalar("id", IntegerType.INSTANCE).addScalar("name").addScalar("tableName")
            .addScalar("description").addScalar("columnName").addScalar("attributeName")
            .setResultTransformer(Transformers.aliasToBean(AccountDetailType.class));
    List<AccountDetailType> accountDetailTypeList = new ArrayList<AccountDetailType>();
    List<GLAccount> glAccountCodesList = new ArrayList<GLAccount>();
    new ArrayList<GLAccount>();

    accountDetailTypeList = createSQLQuery.list();
    for (final AccountDetailType type : accountDetailTypeList)
        accountDetailType.put(type.getAttributeName(), type);
    sql = "select ID as \"ID\", glCode as \"glCode\" ,name as \"name\" ,"
            + "isActiveForPosting as \"isActiveForPosting\" ,classification as \"classification\", functionReqd as \"functionRequired\" from chartofaccounts ";
    createSQLQuery = currentSession.createSQLQuery(sql);
    createSQLQuery.addScalar("ID", IntegerType.INSTANCE).addScalar("glCode").addScalar("name")
            .addScalar("isActiveForPosting", BooleanType.INSTANCE)
            .addScalar("classification", LongType.INSTANCE).addScalar("functionRequired", BooleanType.INSTANCE)
            .setResultTransformer(Transformers.aliasToBean(GLAccount.class));

    glAccountCodesList = createSQLQuery.list();
    for (final GLAccount type : glAccountCodesList)
        glAccountCodes.put(type.getCode(), type);
    for (final GLAccount type : glAccountCodesList)
        glAccountIds.put(type.getId(), type);
    loadParameters(glAccountCodes, glAccountIds);
    try {
        final HashMap<String, HashMap> hm = new HashMap<String, HashMap>();
        hm.put(ACCOUNTDETAILTYPENODE, accountDetailType);
        hm.put(GLACCCODENODE, glAccountCodes);
        if (LOGGER.isDebugEnabled())
            LOGGER.debug("Loading size:" + glAccountCodes.size());
        hm.put(GLACCIDNODE, glAccountIds);
        applicationCacheManager.put(ROOTNODE, hm);
    } catch (final Exception e) {
        throw e;
    }

}