DealCreationPointConfigRepositoryImpl.java
package com.tradecloud.repository.impl;
import com.tradecloud.domain.configuration.DealCreationPointConfig;
import com.tradecloud.domain.model.ForexGroup;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.repository.DealCreationPointConfigRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Repository(value = "dealCreationPointConfigRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class DealCreationPointConfigRepositoryImpl extends RepositoryBaseImpl<DealCreationPointConfig, Object>
implements DealCreationPointConfigRepository {
@Override
public List<DealCreationPointConfig> find(ForexGroup forexGroup, OrganisationalUnit division) {
DetachedCriteria searchCriteria = DetachedCriteria.forClass(getPersistentClass(), "DealCreationPointConfig");
if (forexGroup != null) {
searchCriteria.add(Restrictions.eq("forexGroup", forexGroup));
}
if (division != null) {
searchCriteria.add(Restrictions.eq("division", division));
}
return getExecutableCriteriaList(searchCriteria, null);
}
@Override
public void deleteAll(ForexGroup forexGroup, OrganisationalUnit division) {
for (DealCreationPointConfig forexGroupDivisionConfig : find(forexGroup, division)) {
delete(forexGroupDivisionConfig);
}
}
}