Example usage for org.hibernate.type LongType INSTANCE

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

Introduction

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

Prototype

LongType INSTANCE

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

Click Source Link

Usage

From source file:ch.algotrader.dao.AbstractDaoTest.java

License:Open Source License

@Test
public void testFindByQueryCollectionParameter() throws Exception {

    GenericItem stuff1 = new GenericItem("this");
    stuff1.setActive(true);//  w w  w. j a  v a 2s .  co m
    stuff1.setBroker(Broker.DC.name());

    this.dao.save(stuff1);

    long id1 = stuff1.getId();

    Assert.assertNotEquals(0, id1);

    GenericItem stuff2 = new GenericItem("that");
    stuff2.setActive(true);
    stuff2.setBroker(Broker.IB.name());

    this.dao.save(stuff2);

    long id2 = stuff2.getId();

    Assert.assertNotEquals(0, id2);

    GenericItem stuff3 = new GenericItem("this and that");
    stuff3.setActive(true);
    stuff3.setBroker(Broker.RT.name());

    this.dao.save(stuff3);

    long id3 = stuff3.getId();

    Assert.assertNotEquals(0, id3);

    this.dao.flush();

    Query query = this.dao.prepareQuery(null, "select s from GenericItem s where s.id in (:ids)",
            QueryType.HQL);
    query.setParameterList("ids", Arrays.asList(stuff1.getId(), stuff2.getId(), stuff3.getId()),
            LongType.INSTANCE);

    List<?> list1 = query.list();

    Assert.assertNotNull(list1);

    Assert.assertEquals(3, list1.size());
}

From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java

License:Apache License

private void checkQueryResult(SimpleEntity entity, List expected) {
    Session session = sessionFactory.openSession();
    SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone");
    query.addScalar("id", LongType.INSTANCE);
    query.setCacheable(true);//from  w  w w. j a va 2 s . c om
    query.setCacheRegion(cacheRegion);
    query.setParameter("phone", entity.getPhone());
    List res = query.list();
    Assert.assertEquals(expected, res);
    session.close();
}

From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java

License:Apache License

private List listQueryResult() {
    Session session = sessionFactory.openSession();
    SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE address = :address");
    query.addScalar("id", LongType.INSTANCE);
    query.setCacheable(true);//  ww  w. j a v  a 2  s.c o m
    query.setCacheRegion(multiCacheRegion);
    query.setParameter("address", addressValue);
    List res = query.list();
    session.close();
    return res;
}

From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteUniqueResultTest.java

License:Apache License

private void checkQueryResult(SimpleEntity entity, Long expected) {
    Session session = sessionFactory.openSession();
    SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone");
    query.addScalar("id", LongType.INSTANCE);
    query.setCacheable(true);/*  w  w  w  . ja  v a2s .c  o m*/
    query.setCacheRegion(cacheRegion);
    query.setParameter("phone", entity.getPhone());
    Long res = (Long) query.uniqueResult();
    Assert.assertEquals(expected, res);
    session.close();
}

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 ww  .  java2s. co 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 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  av  a 2s  . c o  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) {//  ww w  . j  a va2  s  .c  om
    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) {/*w w  w.  j a  v  a 2  s . co 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 {//www. j a  v  a  2  s  . co  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.closure.AbstractOrgClosureTest.java

License:Apache License

protected boolean checkClosureMatrix() {
    Session session = getSession();//from ww w. j a  v a2s  .  c  o  m
    // we compute the closure table "by hand" as 1 + A + A^2 + A^3 + ... + A^n where n is the greatest expected path length
    int vertices = getVertices().size();

    long start = System.currentTimeMillis();

    // used to give indices to vertices
    List<String> vertexList = new ArrayList<>(getVertices());

    if (DUMP_TC_MATRIX_DETAILS)
        LOGGER.info("Vertex list = {}", vertexList);

    DoubleMatrix2D a = new SparseDoubleMatrix2D(vertices, vertices);
    //        for (int i = 0; i < vertices; i++) {
    //            a.setQuick(i, i, 1.0);
    //        }
    for (DefaultEdge edge : orgGraph.edgeSet()) {
        a.set(vertexList.indexOf(orgGraph.getEdgeSource(edge)),
                vertexList.indexOf(orgGraph.getEdgeTarget(edge)), 1.0);
    }

    DoubleMatrix2D result = new SparseDoubleMatrix2D(vertices, vertices);
    for (int i = 0; i < vertices; i++) {
        result.setQuick(i, i, 1.0);
    }

    DoubleMatrix2D power = result.copy();
    Algebra alg = new Algebra();
    for (int level = 1; level <= maxLevel; level++) {
        power = alg.mult(power, a);
        result.assign(power, Functions.plus);
        //            System.out.println("a=" + a);
        //            System.out.println("a^"+level+"="+power);
    }
    LOGGER.info("TC matrix computed in {} ms", System.currentTimeMillis() - start);

    if (DUMP_TC_MATRIX_DETAILS)
        LOGGER.info("TC matrix expected = {}", result);

    Query q = session.createSQLQuery("select descendant_oid, ancestor_oid, val from m_org_closure")
            .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE)
            .addScalar("val", LongType.INSTANCE);
    List<Object[]> list = q.list();
    LOGGER.info("OrgClosure has {} rows", list.size());

    DoubleMatrix2D closureInDatabase = new SparseDoubleMatrix2D(vertices, vertices);
    for (Object[] item : list) {
        int val = Integer.parseInt(item[2].toString());
        if (val == 0) {
            throw new IllegalStateException("Row with val == 0 in closure table: " + list);
        }
        closureInDatabase.set(vertexList.indexOf(item[0]), vertexList.indexOf(item[1]), val);
    }

    if (DUMP_TC_MATRIX_DETAILS)
        LOGGER.info("TC matrix fetched from db = {}", closureInDatabase);

    double zSumResultBefore = result.zSum();
    double zSumClosureInDb = closureInDatabase.zSum();
    result.assign(closureInDatabase, Functions.minus);
    double zSumResultAfter = result.zSum();
    LOGGER.info("Summary of items in closure computed: {}, in DB-stored closure: {}, delta: {}",
            new Object[] { zSumResultBefore, zSumClosureInDb, zSumResultAfter });

    if (DUMP_TC_MATRIX_DETAILS)
        LOGGER.info("Difference matrix = {}", result);

    boolean problem = false;
    for (int i = 0; i < vertices; i++) {
        for (int j = 0; j < vertices; j++) {
            double delta = result.get(i, j);
            if (Math.round(delta) != 0) {
                System.err.println("delta(" + vertexList.get(i) + "," + vertexList.get(j) + ") = " + delta
                        + " (closureInDB=" + closureInDatabase.get(i, j) + ", expected="
                        + (result.get(i, j) + closureInDatabase.get(i, j)) + ")");
                LOGGER.error("delta(" + vertexList.get(i) + "," + vertexList.get(j) + ") = " + delta);
                problem = true;
            }
        }
    }
    if (problem) {
        checkOrgGraph();
    }
    return problem;
}