Example usage for org.hibernate.type StringType INSTANCE

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

Introduction

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

Prototype

StringType INSTANCE

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

Click Source Link

Usage

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 w w w. j av 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.business.TagArticleBusiness.java

License:Open Source License

@Override
public List<String> getTagsListByArticle(String userName, String localeCode, String countryCode, String token,
        String id) {/*from  ww w . j  a v a2 s .  c o m*/
    SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t "
            + "inner join tag_article l on t.id =l.tag_id" + " where l.article_id = ? ");
    query.addScalar("id", StringType.INSTANCE);
    query.setLong(0, Long.valueOf(id));
    return query.list();
}

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

License:Open Source License

@Override
public List<String> getTagsListByCategory(String userName, String localeCode, String countryCode, String token,
        String id) {/*w  w  w.j av  a2 s.co  m*/
    SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t "
            + "inner join tag_category l on t.id =l.tag_id" + " where l.category_id = ? ");
    query.addScalar("id", StringType.INSTANCE);
    query.setLong(0, Long.valueOf(id));
    return query.list();
}

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

License:Open Source License

@Override
public List<String> getTagsListByDish(String userName, String localeCode, String countryCode, String token,
        String id) {//www .j  av  a 2 s .  c  o m
    SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t "
            + "inner join tag_dish l on t.id =l.tag_id" + " where l.dish_id = ? ");
    query.addScalar("id", StringType.INSTANCE);
    query.setLong(0, Long.valueOf(id));
    return query.list();
}

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

License:Open Source License

@Override
public List<String> getTagsListByRestaurant(String userName, String localeCode, String countryCode,
        String token, String id) {
    SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t "
            + "inner join tag_restaurant l on t.id =l.tag_id" + " where l.restaurant_id = ? ");
    query.addScalar("id", StringType.INSTANCE);
    query.setLong(0, Long.valueOf(id));
    return query.list();
}

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

License:Open Source License

@Override
public Map<String, String> getMapTagsByName(List<String> listTagName) {
    Map<String, String> map = new HashMap<>();

    Type[] types = new Type[listTagName.size()];
    String[] param = new String[listTagName.size()];
    Arrays.fill(types, StringType.INSTANCE);
    Criteria cri = gettDAO().getSession().createCriteria(Tags.class);
    cri.add(Restrictions.sqlRestriction(
            " lower(" + Tags.NAME + ") in " + QueryUtil.getParameterHolderString(listTagName.size())//
            , StringUtils.trimStringToNewList(listTagName, Boolean.TRUE).toArray(param)//
            , types));//from   www .  j  ava  2 s  .  c  om

    List<Tags> listTags = cri.list();
    for (Tags tags : listTags) {
        map.put(tags.getName().toLowerCase(), tags.getId().toString());
    }
    for (String tags : listTagName) {
        if (!map.containsKey(tags.trim().toLowerCase())) {
            map.put(tags.trim().toLowerCase(), null);
        }
    }
    return map;
}

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 {//w  ww  . j a v a  2s .c om
        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 w ww . j a v a2  s  .co 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;
}

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;// w ww .  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 void checkForCycles(List<Edge> edges, Session session) {
    String queryText = "select descendant_oid, ancestor_oid from " + CLOSURE_TABLE_NAME + " where "
            + getWhereClauseForCycleCheck(edges);
    Query query = session.createSQLQuery(queryText).addScalar("descendant_oid", StringType.INSTANCE)
            .addScalar("ancestor_oid", StringType.INSTANCE);
    long start = System.currentTimeMillis();
    List list = query.list();/*from  ww  w .  j a va2s.  c o m*/
    LOGGER.trace("Cycles checked in {} ms, {} conflicts found", System.currentTimeMillis() - start,
            list.size());
    if (!list.isEmpty()) {
        throw new IllegalArgumentException(
                "Modification couldn't be executed, because a cycle in org structure graph would be created. Cycle-creating edges being added: "
                        + formatList(list));
    }
}