package com.oa.dao.impl; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Component; import com.oa.dao.FindDao; import com.oa.dao.SuperDaoInte; import com.oa.model.ContractProductRecord; import com.oa.model.OrderProductRecord; import com.oa.model.PaymentPlan; import com.oa.model.Product; @Component("findDao") public class FindDaoImpl implements FindDao { private SuperDaoInte superDao; public List findByCondition(int i, String clazz, String findCondition, String textfield, String hql) { return superDao.getPage(i, clazz, findCondition, textfield, hql); } public List getAllContents(String className, String hql) { return superDao.getAllObjects(className, hql); } public SuperDaoInte getSuperDao() { return superDao; } @Resource public void setSuperDao(SuperDaoInte superDao) { this.superDao = superDao; } public List findByCondition(Integer id) { return superDao.find("from Person p where p.id = "+id); } public List findByCondition(int i, String name, String hql) { return superDao.getPage(i, name, hql); } public List<Product> findByCondition(String hql) { return convertToListProduct(superDao.find(hql)); } public List<Product> convertToListProduct(List<Object> objects) { List<Product> products = new ArrayList<Product>(); for(int i=0; i<objects.size(); i++) { products.add((Product)objects.get(i)); } return products; } public List<ContractProductRecord> findByConditions(String hql) { return convertToListCPR(superDao.find(hql)); } public List<ContractProductRecord> convertToListCPR(List<Object> objects) { List<ContractProductRecord> cpr = new ArrayList<ContractProductRecord>(); for(int i=0; i<objects.size(); i++) { cpr.add((ContractProductRecord)objects.get(i)); } return cpr; } public List<PaymentPlan> findByConditionsPP(String hql) { return convertToListPP(superDao.find(hql)); } private List<PaymentPlan> convertToListPP(List<Object> objects) { List<PaymentPlan> cpr = new ArrayList<PaymentPlan>(); for(int i=0; i<objects.size(); i++) { cpr.add((PaymentPlan)objects.get(i)); } return cpr; } private List<OrderProductRecord> convertToOPR(List<Object> objects) { List<OrderProductRecord> cpr = new ArrayList<OrderProductRecord>(); for(int i=0; i<objects.size(); i++) { cpr.add((OrderProductRecord)objects.get(i)); } return cpr; } public List<OrderProductRecord> findByConditionOPR(String hql) { return convertToOPR(superDao.find(hql)); } }