01: /**
02: * User: Clinton Begin Date: Jul 13, 2003 Time: 7:20:54 PM
03: */package com.ibatis.jpetstore.persistence.sqlmapdao;
04:
05: import java.util.ArrayList;
06: import java.util.List;
07: import java.util.StringTokenizer;
08:
09: import com.ibatis.common.util.PaginatedList;
10: import com.ibatis.dao.client.DaoManager;
11: import com.ibatis.jpetstore.domain.Product;
12: import com.ibatis.jpetstore.persistence.iface.ProductDao;
13:
14: public class ProductSqlMapDao extends BaseSqlMapDao implements
15: ProductDao {
16:
17: public ProductSqlMapDao(DaoManager daoManager) {
18: super (daoManager);
19: }
20:
21: public PaginatedList getProductListByCategory(String categoryId) {
22: return queryForPaginatedList("getProductListByCategory",
23: categoryId, PAGE_SIZE);
24: }
25:
26: public Product getProduct(String productId) {
27: return (Product) queryForObject("getProduct", productId);
28: }
29:
30: public PaginatedList searchProductList(String keywords) {
31: Object parameterObject = new ProductSearch(keywords);
32: return queryForPaginatedList("searchProductList",
33: parameterObject, PAGE_SIZE);
34: }
35:
36: /* Inner Classes */
37:
38: public static class ProductSearch {
39: private List keywordList = new ArrayList();
40:
41: public ProductSearch(String keywords) {
42: StringTokenizer splitter = new StringTokenizer(keywords,
43: " ", false);
44: while (splitter.hasMoreTokens()) {
45: keywordList.add("%" + splitter.nextToken() + "%");
46: }
47: }
48:
49: public List getKeywordList() {
50: return keywordList;
51: }
52: }
53:
54: }
|