Example usage for org.springframework.jdbc.core.namedparam MapSqlParameterSource addValue

List of usage examples for org.springframework.jdbc.core.namedparam MapSqlParameterSource addValue

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.namedparam MapSqlParameterSource addValue.

Prototype

public MapSqlParameterSource addValue(String paramName, @Nullable Object value) 

Source Link

Document

Add a parameter to this parameter source.

Usage

From source file:com.epam.catgenome.dao.reference.ReferenceGenomeDao.java

/**
 * Add a BiologicalDataItem(only BED or GFF/GTF) as annotation for the genome
 * @param referenceId List of IDs of BiologicalDataItem instances
 * @param annotationFileId ID of BiologicalDataItem instance
 *//*w w w.j av a2s  .  c  o  m*/
@Transactional(propagation = Propagation.MANDATORY)
public void addAnnotationFile(Long referenceId, Long annotationFileId) {
    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(GenomeParameters.REFERENCE_GENOME_ID.name(), referenceId);
    params.addValue(BiologicalDataItemDao.BiologicalDataItemParameters.BIO_DATA_ITEM_ID.name(),
            annotationFileId);
    getNamedParameterJdbcTemplate().update(addAnnotationDataItemByReferenceIdQuery, params);
}

From source file:com.epam.catgenome.dao.reference.ReferenceGenomeDao.java

/**
 * Remove annotation file from the genome
 * @param referenceId ID of the genome/*from   ww  w .j a  v  a2  s. c  o  m*/
 * @param annotationFileId ID of BiologicalDataItem instance
 */
@Transactional(propagation = Propagation.MANDATORY)
public void removeAnnotationFile(Long referenceId, Long annotationFileId) {
    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(GenomeParameters.REFERENCE_GENOME_ID.name(), referenceId);
    params.addValue(BiologicalDataItemDao.BiologicalDataItemParameters.BIO_DATA_ITEM_ID.name(),
            annotationFileId);
    getNamedParameterJdbcTemplate().update(deleteAnnotationDataItemByReferenceIdQuery, params);
}

From source file:com.ushahidi.swiftriver.core.api.dao.impl.JpaRiverDao.java

public List<RiverTagTrend> getTrendingTags(Long riverId, TrendFilter trendFilter) {
    int count = trendFilter.getCount();
    int page = trendFilter.getPage();

    String sql = "SELECT a.tag, a.tag_type, SUM(a.count) AS tag_count, " + "a.date_pub AS trend_date "
            + "FROM river_tag_trends a " + "WHERE a.tag_type <> 'place' " + "AND a.river_id = :riverId ";

    if (trendFilter.getDateFrom() != null) {
        sql += "AND a.date_pub > :dateFrom ";
    }//from w w w.j a  va  2 s .c o  m

    if (trendFilter.getDateTo() != null) {
        sql += "AND a.date_pub <= :dateTo ";
    }

    sql += "GROUP BY a.tag, a.tag_type, trend_date ORDER BY `trend_date` ASC " + "LIMIT " + count + " OFFSET "
            + count * (page - 1);

    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue("riverId", riverId);

    if (trendFilter.getDateFrom() != null) {
        params.addValue("dateFrom", trendFilter.getDateFrom());
    }

    if (trendFilter.getDateTo() != null) {
        params.addValue("dateTo", trendFilter.getDateTo());
    }

    List<RiverTagTrend> tagTrends = new ArrayList<RiverTagTrend>();
    for (Map<String, Object> row : jdbcTemplate.queryForList(sql, params)) {
        RiverTagTrend tagTrend = new RiverTagTrend();

        tagTrend.setTag((String) row.get("tag"));
        tagTrend.setTagType((String) row.get("tag_type"));
        tagTrend.setCount(((Number) row.get("tag_count")).longValue());
        tagTrend.setDatePublished((Date) row.get("trend_date"));

        tagTrends.add(tagTrend);
    }

    return tagTrends;
}

From source file:com.epam.catgenome.dao.BiologicalDataItemDao.java

/**
 * Loads a List of BiologicalDataItem from the database by their IDs
 * @param ids List of IDs of BiologicalDataItem instances
 * @return List of BiologicalDataItem, matching specified IDs
 */// w  w  w.  j a v a  2 s.c  o  m
@Transactional(propagation = Propagation.MANDATORY)
public List<BiologicalDataItem> loadBiologicalDataItemsByIds(List<Long> ids) {
    if (ids == null || ids.isEmpty()) {
        return Collections.emptyList();
    }

    Long listId = daoHelper.createTempLongList(ids);

    final MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(BiologicalDataItemParameters.BIO_DATA_ITEM_ID.name(), listId);

    List<BiologicalDataItem> items = getNamedParameterJdbcTemplate().query(loadBiologicalDataItemsByIdsQuery,
            params, getRowMapper());

    daoHelper.clearTempList(listId);

    return items;
}

From source file:com.joliciel.jochre.doc.DocumentDaoJdbc.java

@Override
public void saveJochrePage(JochrePage jochrePage) {
    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    JochrePageInternal iJochrePage = (JochrePageInternal) jochrePage;

    paramSource.addValue("page_doc_id", jochrePage.getDocumentId());
    paramSource.addValue("page_index", jochrePage.getIndex());
    String sql = null;//from  w  w  w .  ja  va2 s .com

    if (jochrePage.isNew()) {
        sql = "SELECT nextval('ocr_page_id_seq')";
        LOG.info(sql);
        int jochrePageId = jt.queryForInt(sql, paramSource);
        paramSource.addValue("page_id", jochrePageId);

        sql = "INSERT INTO ocr_page (page_id, page_doc_id, page_index) "
                + "VALUES (:page_id, :page_doc_id, :page_index)";

        LOG.info(sql);
        logParameters(paramSource);
        jt.update(sql, paramSource);

        iJochrePage.setId(jochrePageId);
    } else {
        paramSource.addValue("page_id", jochrePage.getId());

        sql = "UPDATE ocr_page" + " SET page_doc_id = :page_doc_id" + ", page_index = :page_index"
                + " WHERE page_id = :page_id";

        LOG.info(sql);
        logParameters(paramSource);
        jt.update(sql, paramSource);
    }
}

From source file:com.ushahidi.swiftriver.core.api.dao.impl.JpaRiverDao.java

public List<RiverTagTrend> getTrendingPlaces(Long riverId, TrendFilter trendFilter) {
    int count = trendFilter.getCount();
    int page = trendFilter.getPage();

    String sql = "SELECT a.tag, SUM(a.count) AS tag_count, " + "p.latitude, p.longitude, "
            + "a.date_pub AS trend_date " + "FROM river_tag_trends a "
            + "INNER JOIN places p ON (p.place_name = a.tag) " + "WHERE a.tag_type = 'place' "
            + "AND a.river_id = :riverId ";
    if (trendFilter.getDateFrom() != null) {
        sql += "AND a.date_pub > :dateFrom ";
    }//from ww  w . j  av a 2  s  .  c o  m

    if (trendFilter.getDateTo() != null) {
        sql += "AND a.date_pub <= :dateTo ";
    }

    sql += "GROUP BY a.tag, trend_date ORDER BY trend_date ASC " + "LIMIT " + count + " OFFSET "
            + count * (page - 1);

    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue("riverId", riverId);

    if (trendFilter.getDateFrom() != null) {
        params.addValue("dateFrom", trendFilter.getDateFrom());
    }

    if (trendFilter.getDateTo() != null) {
        params.addValue("dateTo", trendFilter.getDateTo());
    }

    List<RiverTagTrend> placeTrends = new ArrayList<RiverTagTrend>();
    for (Map<String, Object> row : jdbcTemplate.queryForList(sql, params)) {
        RiverTagTrend tagTrend = new RiverTagTrend();

        tagTrend.setTag((String) row.get("tag"));
        tagTrend.setTagType("place");
        tagTrend.setLatitude(((Number) row.get("latitude")).floatValue());
        tagTrend.setLongitude(((Number) row.get("longitude")).floatValue());
        tagTrend.setCount(((Number) row.get("tag_count")).longValue());
        tagTrend.setDatePublished((Date) row.get("trend_date"));

        placeTrends.add(tagTrend);
    }

    return placeTrends;
}

From source file:com.ushahidi.swiftriver.core.api.dao.impl.JpaRiverDropDao.java

/**
 * Populate custom field for the given drops.
 * //  w w w .  ja  v  a 2s.co m
 * @param drops
 */
@SuppressWarnings("rawtypes")
public void populateForms(List<Drop> drops) {

    Map<Long, Integer> dropIndex = new HashMap<Long, Integer>();
    int i = 0;
    for (Drop drop : drops) {
        dropIndex.put(drop.getId(), i);
        i++;
    }

    String sql = "SELECT form.id, form.drop_id, form_id, field.field_id, field.value ";
    sql += "FROM river_droplet_form form, river_droplet_form_field field ";
    sql += "WHERE form.id = field.droplet_form_id ";
    sql += "AND drop_id IN (:drop_ids)  ";

    MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue("drop_ids", dropIndex.keySet());
    List<Map<String, Object>> results = this.namedJdbcTemplate.queryForList(sql, params);

    // Add form values to their respective drops.
    Map<Long, RiverDropForm> dropForms = new HashMap<Long, RiverDropForm>();
    for (Map<String, Object> result : results) {

        Long dropId = ((Number) result.get("drop_id")).longValue();
        Drop drop = drops.get(dropIndex.get(dropId));
        if (drop.getForms() == null) {
            drop.setForms(new ArrayList<DropForm>());
        }

        Long dropFormId = ((Number) result.get("id")).longValue();
        RiverDropForm dropForm = dropForms.get(dropFormId);

        if (dropForm == null) {
            dropForm = new RiverDropForm();
            dropForm.setId(dropFormId);
            Form form = new Form();
            form.setId(((Number) result.get("form_id")).longValue());
            dropForm.setForm(form);
            dropForm.setValues(new ArrayList<RiverDropFormField>());

            dropForms.put(dropFormId, dropForm);
        }

        RiverDropFormField value = new RiverDropFormField();
        FormField field = new FormField();
        field.setId(((Number) result.get("field_id")).longValue());
        value.setField(field);
        value.setValue((String) result.get("value"));

        List<RiverDropFormField> values = dropForm.getValues();
        values.add(value);

        if (!drop.getForms().contains(dropForm)) {
            drop.getForms().add(dropForm);
        }
    }
}

From source file:com.epam.catgenome.dao.reference.ReferenceGenomeDao.java

@Transactional(propagation = Propagation.MANDATORY)
public Reference createReferenceGenome(final Reference reference) {
    final MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(GenomeParameters.REFERENCE_GENOME_ID.name(), reference.getId());
    params.addValue(GenomeParameters.BIO_DATA_ITEM_ID.name(), reference.getBioDataItemId());
    params.addValue(GenomeParameters.SIZE.name(), reference.getSize());
    params.addValue(GenomeParameters.INDEX_ID.name(), reference.getIndex().getId());
    params.addValue(GenomeParameters.GENE_ITEM_ID.name(),
            reference.getGeneFile() != null ? reference.getGeneFile().getId() : null);

    getNamedParameterJdbcTemplate().update(createReferenceGenomeQuery, params);
    return reference;
}

From source file:com.epam.catgenome.dao.BiologicalDataItemDao.java

/**
 * Persists a BiologicalDataItem instance into the database
 * @param item BiologicalDataItem to persist
 *//*from  w ww . j  a  v  a  2  s .  co m*/
@Transactional(propagation = Propagation.MANDATORY)
public void createBiologicalDataItem(BiologicalDataItem item) {
    if (!item.getFormat().isIndex() || (item.getFormat().isIndex() && !StringUtils.isEmpty(item.getName()))) {

        Assert.isTrue(!StringUtils.isEmpty(item.getName()), "File name is required for registration.");
        List<BiologicalDataItem> items = loadFilesByNameStrict(item.getName());
        Assert.isTrue(items.isEmpty(),
                MessageHelper.getMessage(MessagesConstants.ERROR_FILE_NAME_EXISTS, item.getName()));
        item.setId(daoHelper.createId(biologicalDataItemSequenceName));
    } else {
        item.setId(daoHelper.createId(biologicalDataItemSequenceName));
        item.setName("INDEX " + item.getId());
    }

    final MapSqlParameterSource params = new MapSqlParameterSource();

    params.addValue(BiologicalDataItemParameters.BIO_DATA_ITEM_ID.name(), item.getId());
    params.addValue(BiologicalDataItemParameters.NAME.name(), item.getName());
    params.addValue(BiologicalDataItemParameters.TYPE.name(), item.getType().getId());
    params.addValue(BiologicalDataItemParameters.PATH.name(), item.getPath());
    params.addValue(BiologicalDataItemParameters.FORMAT.name(), item.getFormat().getId());
    params.addValue(BiologicalDataItemParameters.CREATED_DATE.name(), item.getCreatedDate());
    params.addValue(BiologicalDataItemParameters.CREATED_BY.name(), item.getCreatedBy());
    params.addValue(BiologicalDataItemParameters.BUCKET_ID.name(), item.getBucketId());
    params.addValue(BiologicalDataItemParameters.PRETTY_NAME.name(), item.getPrettyName());

    getNamedParameterJdbcTemplate().update(insertBiologicalDataItemQuery, params);
}

From source file:com.epam.catgenome.dao.reference.ReferenceGenomeDao.java

/**
 * Persists a {@code Reference} entity in database with a specified ID
 * @param reference to persist//from w  w  w . j  av a  2s .  com
 * @param referenceId ID for the reference
 * @return saved {@code Reference} instance
 */
@Transactional(propagation = Propagation.MANDATORY)
public Reference createReferenceGenome(final Reference reference, final long referenceId) {

    reference.setBioDataItemId(reference.getId());
    reference.setId(referenceId);

    final MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(GenomeParameters.REFERENCE_GENOME_ID.name(), reference.getId());
    params.addValue(GenomeParameters.BIO_DATA_ITEM_ID.name(), reference.getBioDataItemId());
    params.addValue(GenomeParameters.SIZE.name(), reference.getSize());
    params.addValue(GenomeParameters.INDEX_ID.name(), reference.getIndex().getId());
    params.addValue(GenomeParameters.GENE_ITEM_ID.name(),
            reference.getGeneFile() != null ? reference.getGeneFile().getId() : null);

    getNamedParameterJdbcTemplate().update(createReferenceGenomeQuery, params);
    return reference;
}