View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *      http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  /***
    18   * User: Clinton Begin
    19   * Date: Jul 13, 2003
    20   * Time: 7:20:54 PM
    21   */
    22  package com.ibatis.jpetstore.persistence.sqlmapdao;
    23
    24  import com.ibatis.common.util.PaginatedList;
    25  import com.ibatis.dao.client.DaoManager;
    26  import com.ibatis.jpetstore.domain.Product;
    27  import com.ibatis.jpetstore.persistence.iface.ProductDao;
    28
    29  import java.util.ArrayList;
    30  import java.util.List;
    31  import java.util.StringTokenizer;
    32
    33  public class ProductSqlMapDao extends BaseSqlMapDao implements ProductDao {
    34
    35    public ProductSqlMapDao(DaoManager daoManager) {
    36      super(daoManager);
    37    }
    38
    39    public PaginatedList getProductListByCategory(String categoryId) {
    40      return queryForPaginatedList("getProductListByCategory", categoryId, PAGE_SIZE);
    41    }
    42
    43    public Product getProduct(String productId) {
    44      return (Product) queryForObject("getProduct", productId);
    45    }
    46
    47    public PaginatedList searchProductList(String keywords) {
    48      Object parameterObject = new ProductSearch(keywords);
    49      return queryForPaginatedList("searchProductList", parameterObject, PAGE_SIZE);
    50    }
    51
    52    /* Inner Classes */
    53
    54    public static class ProductSearch {
    55      private List keywordList = new ArrayList();
    56
    57      public ProductSearch(String keywords) {
    58        StringTokenizer splitter = new StringTokenizer(keywords, " ", false);
    59        while (splitter.hasMoreTokens()) {
    60          keywordList.add("%" + splitter.nextToken() + "%");
    61        }
    62      }
    63
    64      public List getKeywordList() {
    65        return keywordList;
    66      }
    67    }
    68
    69  }