1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.ibatis.jpetstore.service;
17
18 import com.ibatis.common.util.PaginatedList;
19 import com.ibatis.dao.client.DaoManager;
20 import com.ibatis.jpetstore.domain.Category;
21 import com.ibatis.jpetstore.domain.Item;
22 import com.ibatis.jpetstore.domain.Product;
23 import com.ibatis.jpetstore.persistence.DaoConfig;
24 import com.ibatis.jpetstore.persistence.iface.CategoryDao;
25 import com.ibatis.jpetstore.persistence.iface.ItemDao;
26 import com.ibatis.jpetstore.persistence.iface.ProductDao;
27
28 import java.util.List;
29
30 public class CatalogService {
31
32
33
34 private static final CatalogService instance = new CatalogService();
35
36
37
38 private DaoManager daoManager = DaoConfig.getDaomanager();
39
40 private CategoryDao categoryDao;
41 private ItemDao itemDao;
42 private ProductDao productDao;
43
44
45
46 private CatalogService() {
47 categoryDao = (CategoryDao) daoManager.getDao(CategoryDao.class);
48 productDao = (ProductDao) daoManager.getDao(ProductDao.class);
49 itemDao = (ItemDao) daoManager.getDao(ItemDao.class);
50 }
51
52
53
54 public static CatalogService getInstance() {
55 return instance;
56 }
57
58
59
60 public List getCategoryList() {
61 return categoryDao.getCategoryList();
62 }
63
64 public Category getCategory(String categoryId) {
65 return categoryDao.getCategory(categoryId);
66 }
67
68
69
70 public Product getProduct(String productId) {
71 return productDao.getProduct(productId);
72 }
73
74 public PaginatedList getProductListByCategory(String categoryId) {
75 return productDao.getProductListByCategory(categoryId);
76 }
77
78 public PaginatedList searchProductList(String keywords) {
79 return productDao.searchProductList(keywords);
80 }
81
82
83
84 public PaginatedList getItemListByProduct(String productId) {
85 return itemDao.getItemListByProduct(productId);
86 }
87
88 public Item getItem(String itemId) {
89 return itemDao.getItem(itemId);
90 }
91
92 public boolean isItemInStock(String itemId) {
93 return itemDao.isItemInStock(itemId);
94 }
95
96 }