IncotermRepositoryImpl.java

package com.tradecloud.repository.staticdata;

import java.util.List;

import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.tradecloud.domain.common.Incoterm;
import com.tradecloud.domain.costing.CostingContextType;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.repository.impl.RepositoryBaseImplNoSearch;

/**
 * Default implementation of the {@code IncotermRepository} interface.
 */
@Repository(value = "incotermRepository")
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class IncotermRepositoryImpl extends RepositoryBaseImplNoSearch<Incoterm> implements IncotermRepository {

    private static final long serialVersionUID = 1L;

    @Override
    public List<Incoterm> findByCostingContextAssociatedToCostSetup(CostingContextType costingContextType) {
        validateNotNull(costingContextType, "costingContextType");
        List<Incoterm> list = (List<Incoterm>) findByNamedQueryAndNamedParam("incoterm.byCostingContextAssociatedToCostSetup", "costingContextType",
                        costingContextType);
        return list;
    }

    @Override
    public List<Incoterm> findByCostingContextAndOrgUnitAssociatedToCostSetup(CostingContextType costingContextType,
            OrganisationalUnit organisationalUnit) {
        validateNotNull(costingContextType, "costingContextType");
        validateNotNull(organisationalUnit, "organisationalUnit");
        List<Incoterm> list = (List<Incoterm>) findByNamedQueryAndNamedParam("incoterm.byCostingContextAndOrgUnitAssociatedToCostSetup",
                        new String[] { "costingContextType", "organisationalUnit" },
                        new Object[] { costingContextType, organisationalUnit });
        return list;
    }
}