Example usage for org.springframework.transaction.annotation Propagation MANDATORY

List of usage examples for org.springframework.transaction.annotation Propagation MANDATORY

Introduction

In this page you can find the example usage for org.springframework.transaction.annotation Propagation MANDATORY.

Prototype

Propagation MANDATORY

To view the source code for org.springframework.transaction.annotation Propagation MANDATORY.

Click Source Link

Document

Support a current transaction, throw an exception if none exists.

Usage

From source file:net.dontdrinkandroot.persistence.dao.TypedJpaDao.java

@Override
@Transactional(propagation = Propagation.MANDATORY, readOnly = true)
public List<E> findAll(final Collection<PredicateBuilder<E>> filters) {
    final CriteriaBuilder builder = this.getCriteriaBuilder();
    final CriteriaQuery<E> criteriaQuery = builder.createQuery(this.entityClass);
    final Root<E> from = criteriaQuery.from(this.entityClass);

    final Predicate[] predicates = new Predicate[filters.size()];
    int count = 0;
    for (final PredicateBuilder<E> filter : filters) {
        predicates[count] = filter.createPredicate(builder, from);
        count++;//from w  ww .  java 2  s. c  o  m
    }

    criteriaQuery.where(predicates);

    return this.find(criteriaQuery);
}

From source file:com.epam.catgenome.dao.gene.GeneFileDao.java

/**
 * Loads {@code GeneFile} records, saved for a specific reference ID
 * @param referenceId {@code long} a reference ID in the system
 * @return {@code List&lt;GeneFile&gt;} instance
 *//*w w  w . j  a  v  a2s  .c o m*/
@Transactional(propagation = Propagation.MANDATORY)
public List<GeneFile> loadGeneFilesByReferenceId(long referenceId) {
    return getJdbcTemplate()
            .query(loadGeneFilesByReferenceIdQuery,
                    BiologicalDataItemDao.BiologicalDataItemParameters.getRowMapper(), referenceId)
            .stream().map(f -> (GeneFile) f).collect(Collectors.toList());
}

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

/**
 * Returns {@code List} which contains next values for sequence with the given name.
 *
 * @param sequenceName {@code String} specifies full-qualified name of sequence which
 *                     next values should be returned by a call
 * @param count        int specifies the number of next values are should be retrieved
 * @return {@code List} list of next values for sequence; list.size() == count
 *///w  ww .  j ava2  s.co  m
@Transactional(propagation = Propagation.MANDATORY)
public List<Long> createIds(final String sequenceName, final int count) {
    Assert.isTrue(StringUtils.isNotBlank(sequenceName));
    if (count == 0) {
        return Collections.emptyList();
    }
    // creates a new temporary list: list.size() == count
    final List<Long> rows = LongStream.range(0L, count).collect(LinkedList::new, LinkedList::add,
            LinkedList::addAll);
    final Long listId = createTempLongList(rows);
    // generates next values for sequence with the given name
    final MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue(HelperParameters.LIST_ID.name(), listId);
    params.addValue(HelperParameters.SEQUENCE_NAME.name(), sequenceName.trim());
    final List<Long> list = getNamedParameterJdbcTemplate().queryForList(createIdsQuery, params, Long.class);
    // clears a temporary list
    clearTempList(listId);
    return list;
}

From source file:com.epam.catgenome.dao.vcf.VcfFileDao.java

@Transactional(propagation = Propagation.MANDATORY)
public List<VcfFile> loadVcfFiles(List<Long> ids) {
    if (CollectionUtils.isEmpty(ids)) {
        return Collections.emptyList();
    }/*  www. j ava 2 s .  c o  m*/

    long listId = daoHelper.createTempLongList(ids);
    List<BiologicalDataItem> files = getJdbcTemplate().query(loadVcfFilesQuery,
            BiologicalDataItemDao.BiologicalDataItemParameters.getRowMapper(), listId);
    daoHelper.clearTempList(listId);

    return files.stream().map(i -> (VcfFile) i).collect(Collectors.toList());
}

From source file:com.oak_yoga_studio.dao.impl.EnrollmentDAOImpl.java

@Transactional(propagation = Propagation.MANDATORY)
@Override/*from   w  w w  . j  av  a  2 s . co m*/
public void withdraw(Customer customer, Section section) {

    Enrollment enrollment;
    Query query = sf.getCurrentSession().createQuery("select e from Enrollment e  Join e.customer cu"
            + "   join e.section where e.section=:section and e.customer=:customer");

    query.setParameter("section", section);
    query.setParameter("customer", customer);
    enrollment = (Enrollment) query.uniqueResult();

    enrollment.setStatus(Enrollment.statusType.WITHDRAWAL);

    sf.getCurrentSession().saveOrUpdate(enrollment);

}

From source file:com.epam.catgenome.dao.gene.GeneFileDao.java

/**
 * Deletes {@code GeneFile} record from the database
 *
 * @param geneFileId ID of a {@code GeneFile} record to delete
 *//*from  w w  w  .  j  a v a  2  s.c om*/
@Transactional(propagation = Propagation.MANDATORY)
public void deleteGeneFile(final long geneFileId) {
    getJdbcTemplate().update(deleteGeneFileQuery, geneFileId);
}

From source file:ru.org.linux.user.UserLogDao.java

@Transactional(rollbackFor = Exception.class, propagation = Propagation.MANDATORY)
public void logResetInfo(@Nonnull User user, @Nonnull User moderator, @Nonnull String userInfo, int bonus) {
    jdbcTemplate.update(//from www. jav a 2  s .  c  om
            "INSERT INTO user_log (userid, action_userid, action_date, action, info) VALUES (?,?,CURRENT_TIMESTAMP, ?::user_log_action, ?)",
            user.getId(), moderator.getId(), UserLogAction.RESET_INFO.toString(),
            ImmutableMap.of(OPTION_OLD_INFO, userInfo, OPTION_BONUS, bonus));
}

From source file:net.dontdrinkandroot.persistence.dao.TypedJpaDao.java

@Override
@Transactional(propagation = Propagation.MANDATORY, readOnly = true)
public List<E> findAll(final PredicateBuilder<E>... filters) {
    final CriteriaBuilder builder = this.getCriteriaBuilder();
    final CriteriaQuery<E> criteriaQuery = builder.createQuery(this.entityClass);
    final Root<E> from = criteriaQuery.from(this.entityClass);

    final Predicate[] predicates = new Predicate[filters.length];
    int count = 0;
    for (final PredicateBuilder<E> filter : filters) {
        predicates[count] = filter.createPredicate(builder, from);
        count++;/* ww w  .  j  a  va 2  s  . co  m*/
    }

    criteriaQuery.where(predicates);

    return this.find(criteriaQuery);
}

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

@Transactional(propagation = Propagation.MANDATORY)
public Long createReferenceGenomeId() {
    return daoHelper.createId(referenceGenomeSequenceName);
}

From source file:org.brekka.pegasus.core.services.impl.ProfileServiceImpl.java

@Override
@Transactional(propagation = Propagation.MANDATORY)
public void currentUserProfileUpdated() {
    List<TransactionSynchronization> synchronizations = TransactionSynchronizationManager.getSynchronizations();
    for (TransactionSynchronization transactionSynchronization : synchronizations) {
        if (transactionSynchronization instanceof ProfileSynchronization) {
            // Already added for update
            return;
        }//from w  w w .j a  va  2 s. co  m
    }
    MemberContext current = memberService.retrieveCurrent();
    Profile activeProfile = current.getActiveProfile();
    if (activeProfile.getId() != null) {
        TransactionSynchronizationManager.registerSynchronization(new ProfileSynchronization(activeProfile));
    }
}