ToleranceRepositoryImpl.java
package com.tradecloud.repository.impl;
import com.tradecloud.domain.costing.Tolerance;
import com.tradecloud.domain.duties.CustomsDutyCaptureLevel;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.repository.ToleranceRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
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;
/**
* Default implementation of the {@code ToleranceRepository} interface.
*/
@Repository(value = "toleranceRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class ToleranceRepositoryImpl extends RepositoryBaseImpl<Tolerance, Object> implements ToleranceRepository {
private static final long serialVersionUID = 1L;
@Override
public List<Tolerance> findByLevelOrderbyOrgUnit(CustomsDutyCaptureLevel captureLevel,
OrganisationalUnit organisationalUnit, ShippingMode shippingMode) {
if (captureLevel == null) {
throw new NullPointerException("Must supply a valid CustomsDutyCaptureLevel");
}
if (organisationalUnit != null) {
String[] names = {"organisationalUnit", "shippingMode"};
Object[] values = {organisationalUnit, shippingMode};
List<Tolerance> list = (List<Tolerance>) findByNamedQueryAndNamedParam("tolerance.byLevelOrderbyOrgUnit",
names, values);
return list;
} else {
String[] names = {"shippingMode"};
Object[] values = {shippingMode};
List<Tolerance> list = (List<Tolerance>) findByNamedQueryAndNamedParam("tolerance.byLevel",
names, values);
return list;
}
}
public List<Tolerance> findAll() {
return (List<Tolerance>) getNamedQuery("tolerance.all");
}
}