© 2005 BEA Systems, Inc.

com.beasys.commerce.ebusiness.catalog.sql
Class JdbcSqlManager

java.lang.Object
  extended bycom.beasys.commerce.ebusiness.catalog.sql.JdbcSqlManager
All Implemented Interfaces:
CatalogSqlManager
Direct Known Subclasses:
OracleSqlManager

public class JdbcSqlManager
extends Object
implements CatalogSqlManager

The JdbcSqlManager class implements the CatalogSqlManager interface using JDBC compliant SQL.
This is an advanced (internal) class and may be subject to change.


Constructor Summary
JdbcSqlManager()
           
 
Method Summary
 void addItem(Connection connection, CatalogRequest request, CategoryKey categoryKey, ProductItemKey itemKey)
          Adds an item to the specified category.
 void createCategory(Connection connection, CatalogRequest request, CategoryKey parentKey, Category category)
          Creates a sub category within the supplied parent category.
 void createItem(Connection connection, CatalogRequest request, ProductItem product)
          Creates a new product item.
 Category[] getAncestors(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the ancestors of the specified category in ascending order.
 CatalogSchemaManager getCatalogSchemaManager()
           
 Category[] getCategories(Connection connection, CatalogRequest request, CategoryKey[] categoryKeys)
          Returns the categories with the given category keys.
 Category getCategory(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the category with the given category key.
 int getCategoryCount(Connection connection, CatalogRequest request)
          Returns the total number of categories in the product catalog.
 CategoryKey[] getCategoryKeys(Connection connection, CatalogRequest request, int beginIndex, int endIndex)
          Returns an array of all existing category keys within the specified ordered range.
 ProductItem getItem(Connection connection, CatalogRequest request, ProductItemKey productKey)
          Returns the product item with the specified key.
 CategoryKey[] getItemCategories(Connection connection, CatalogRequest request, ProductItemKey productKey)
          Gets all the categories that the item is a part of.
 CategoryKey[][] getItemCategories(Connection connection, CatalogRequest request, ProductItemKey[] productKeys)
          Returns an array of arrays of all the categories that items are part of.
 int getItemCount(Connection connection, CatalogRequest request)
          Returns the number of product items in the product catalog.
 int getItemCount(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the number of product items associated with the specified category.
 ProductItemKey[] getItemKeys(Connection connection, CatalogRequest request, CategoryKey categoryKey, int beginIndex, int endIndex)
          Returns an array of all product item keys of the specified category within the specified ordered range.
 ProductItemKey[] getItemKeys(Connection connection, CatalogRequest request, int beginIndex, int endIndex)
          Returns an array over all existing product item keys within the specified ordered range.
 ProductItem[] getItems(Connection connection, CatalogRequest request, ProductItemKey[] productKeys)
          Returns the product items with the given product item keys.
 JdbcCatalogFactory getJdbcCatalogFactory()
           
 String[] getKeywords(Connection connection, CatalogRequest request, ProductItemKey productKey)
          Returns the keywords associated with a given product item.
 int getOrphanedItemCount(Connection connection, CatalogRequest request)
          Returns the number of orphaned items in the catalog.
 ProductItemKey[] getOrphanedItemKeys(Connection connection, CatalogRequest request, int beginIndex, int endIndex)
          Returns an array of all existing orphaned item keys within the specified ordered range.
 Category getParent(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the parent of the specified category.
 Category getRootCategory(Connection connection, CatalogRequest request)
          Returns the root category.
 int getSiblingCount(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the number of siblings associated with the specified category.
 CategoryKey[] getSiblingKeys(Connection connection, CatalogRequest request, CategoryKey categoryKey, int beginIndex, int endIndex)
          Returns an array of all exististing sibling keys of the specified category within the specified ordered range.
 int getSubCategoryCount(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Returns the number of sub categories associated with the specified category.
 CategoryKey[] getSubCategoryKeys(Connection connection, CatalogRequest request, CategoryKey categoryKey, int beginIndex, int endIndex)
          Returns an array of all sub category keys of the specified category within the specified ordered range.
 void initialize(String schemaName)
           
 void moveCategory(Connection connection, CatalogRequest request, CategoryKey categoryKey, CategoryKey newParentKey)
          Moves the specifed category.
 void removeCategory(Connection connection, CatalogRequest request, CategoryKey categoryKey)
          Removes the specifed category.
 void removeItem(Connection connection, CatalogRequest request, CategoryKey categoryKey, ProductItemKey itemKey)
          Removes an item from the specified category.
 void removeItem(Connection connection, CatalogRequest request, ProductItemKey productKey)
          Removes a product item.
 void setKeywords(Connection connection, CatalogRequest request, ProductItemKey productKey, String[] keywords)
          Sets the keywords for a given product item.
 void updateCategory(Connection connection, CatalogRequest request, Category category)
          Updates the specifed category.
 void updateItem(Connection connection, CatalogRequest request, ProductItem product)
          Updates a product item.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JdbcSqlManager

public JdbcSqlManager()
Method Detail

addItem

public void addItem(Connection connection,
                    CatalogRequest request,
                    CategoryKey categoryKey,
                    ProductItemKey itemKey)
             throws CatalogFinderException,
                    CatalogException,
                    SQLException
Adds an item to the specified category.

Specified by:
addItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of target category.
itemKey - The key of the target item.
Throws:
CatalogFinderException - if the target category or item could not be found.
CatalogException - on general error.
SQLException - on database access error.

createCategory

public void createCategory(Connection connection,
                           CatalogRequest request,
                           CategoryKey parentKey,
                           Category category)
                    throws CatalogCreateException,
                           CatalogException,
                           SQLException
Creates a sub category within the supplied parent category.

Specified by:
createCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
parentKey - The key of the target parent category.
category - The category to persist.
Throws:
CatalogCreateException - on category creation error.
CatalogException - on general error.
SQLException - on database access error.

createItem

public void createItem(Connection connection,
                       CatalogRequest request,
                       ProductItem product)
                throws CatalogCreateException,
                       CatalogException,
                       SQLException
Creates a new product item.

Specified by:
createItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
product - The product item to persist.
Throws:
CatalogCreateException - if the product item could not be created.
CatalogException - on general error.
SQLException - on database access error.

getAncestors

public Category[] getAncestors(Connection connection,
                               CatalogRequest request,
                               CategoryKey categoryKey)
                        throws CatalogException,
                               SQLException
Returns the ancestors of the specified category in ascending order.

Specified by:
getAncestors in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
An array of ancestor categories in ascending order.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getCatalogSchemaManager

public CatalogSchemaManager getCatalogSchemaManager()
Specified by:
getCatalogSchemaManager in interface CatalogSqlManager

getCategories

public Category[] getCategories(Connection connection,
                                CatalogRequest request,
                                CategoryKey[] categoryKeys)
                         throws CatalogFinderException,
                                CatalogException,
                                SQLException
Returns the categories with the given category keys.

Specified by:
getCategories in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The categories with the given category keys.
Throws:
CatalogFinderException - if a category with a given key does not exist.
CatalogException - on general error.
SQLException - on database access error.

getCategory

public Category getCategory(Connection connection,
                            CatalogRequest request,
                            CategoryKey categoryKey)
                     throws CatalogFinderException,
                            CatalogException,
                            SQLException
Returns the category with the given category key.

Specified by:
getCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
The category with the given category key.
Throws:
CatalogFinderException - if a category with the given key does not exist.
CatalogException - on general error.
SQLException - on database access error.

getCategoryCount

public int getCategoryCount(Connection connection,
                            CatalogRequest request)
                     throws CatalogException,
                            SQLException
Returns the total number of categories in the product catalog.

Specified by:
getCategoryCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The total number of categories in the product catalog.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getCategoryKeys

public CategoryKey[] getCategoryKeys(Connection connection,
                                     CatalogRequest request,
                                     int beginIndex,
                                     int endIndex)
                              throws CatalogException,
                                     SQLException
Returns an array of all existing category keys within the specified ordered range.

Specified by:
getCategoryKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
beginIndex - The lower bound index for returned category keys.
endIndex - The upper bound index for returned category keys.
Returns:
An array of the category keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getItem

public ProductItem getItem(Connection connection,
                           CatalogRequest request,
                           ProductItemKey productKey)
                    throws CatalogFinderException,
                           CatalogException,
                           SQLException
Returns the product item with the specified key.

Specified by:
getItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
productKey - The key of the target product.
Throws:
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException - on database access error.

getItemCategories

public CategoryKey[] getItemCategories(Connection connection,
                                       CatalogRequest request,
                                       ProductItemKey productKey)
                                throws CatalogFinderException,
                                       CatalogException,
                                       SQLException
Gets all the categories that the item is a part of.

Parameters:
connection - The database connection object.
request - The catalog request object.
productKey - ProductItemKey of the product item concerned.
Returns:
An array of category keys.
Throws:
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException

getItemCategories

public CategoryKey[][] getItemCategories(Connection connection,
                                         CatalogRequest request,
                                         ProductItemKey[] productKeys)
                                  throws CatalogException,
                                         SQLException
Returns an array of arrays of all the categories that items are part of. The order of the arrays returned is the same as the product item keys in the input. In case a product item key does not exist an empty array is returned.

Parameters:
request - The catalog request object.
productKeys - Array of ProductItemKeys.
Returns:
An array of arrays of category keys.
Throws:
CatalogException - on general error.
SQLException

getItemCount

public int getItemCount(Connection connection,
                        CatalogRequest request)
                 throws CatalogException,
                        SQLException
Returns the number of product items in the product catalog.

Specified by:
getItemCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The number of product items in the product catalog.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getItemCount

public int getItemCount(Connection connection,
                        CatalogRequest request,
                        CategoryKey categoryKey)
                 throws CatalogFinderException,
                        CatalogException,
                        SQLException
Returns the number of product items associated with the specified category.

Specified by:
getItemCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
The number of product items associated with the specified category.
Throws:
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.
SQLException - on database access error.

getItemKeys

public ProductItemKey[] getItemKeys(Connection connection,
                                    CatalogRequest request,
                                    CategoryKey categoryKey,
                                    int beginIndex,
                                    int endIndex)
                             throws CatalogException,
                                    SQLException
Returns an array of all product item keys of the specified category within the specified ordered range.

Specified by:
getItemKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
beginIndex - The lower bound index for returned product item keys.
endIndex - The upper bound index for returned product item keys.
Returns:
An array of all the product item keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getItemKeys

public ProductItemKey[] getItemKeys(Connection connection,
                                    CatalogRequest request,
                                    int beginIndex,
                                    int endIndex)
                             throws CatalogException,
                                    SQLException
Returns an array over all existing product item keys within the specified ordered range.

Specified by:
getItemKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
beginIndex - The lower bound index for returned product item keys.
endIndex - The upper bound index for returned product item keys.
Returns:
An array of the product item keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getItems

public ProductItem[] getItems(Connection connection,
                              CatalogRequest request,
                              ProductItemKey[] productKeys)
                       throws CatalogFinderException,
                              CatalogException,
                              SQLException
Returns the product items with the given product item keys.

Specified by:
getItems in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The product items with the given product item keys.
Throws:
CatalogFinderException - if a product item with a given key does not exist.
CatalogException - on general error.
SQLException - on database access error.

getJdbcCatalogFactory

public JdbcCatalogFactory getJdbcCatalogFactory()
Specified by:
getJdbcCatalogFactory in interface CatalogSqlManager

getKeywords

public String[] getKeywords(Connection connection,
                            CatalogRequest request,
                            ProductItemKey productKey)
                     throws CatalogFinderException,
                            CatalogException,
                            SQLException
Returns the keywords associated with a given product item.

Specified by:
getKeywords in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
productKey - The key of the target product.
Returns:
The keywords associated with the given product item. If there are no keywords associated with the item, a zero length <code>String</code> array is returned.
Throws:
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException - on database access error.

getOrphanedItemCount

public int getOrphanedItemCount(Connection connection,
                                CatalogRequest request)
                         throws CatalogException,
                                SQLException
Returns the number of orphaned items in the catalog.

Specified by:
getOrphanedItemCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The number of orphaned items in the catalog.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getOrphanedItemKeys

public ProductItemKey[] getOrphanedItemKeys(Connection connection,
                                            CatalogRequest request,
                                            int beginIndex,
                                            int endIndex)
                                     throws CatalogException,
                                            SQLException
Returns an array of all existing orphaned item keys within the specified ordered range.

Specified by:
getOrphanedItemKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
beginIndex - The lower bound index for returned category keys.
endIndex - The upper bound index for returned category keys.
Returns:
An array of the orphaned category keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getParent

public Category getParent(Connection connection,
                          CatalogRequest request,
                          CategoryKey categoryKey)
                   throws CatalogFinderException,
                          CatalogException,
                          SQLException
Returns the parent of the specified category.

Specified by:
getParent in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
The parent of the specified category.
Throws:
CatalogFinderException - if the parent could not be found. This could happen if the specified category does not exist or is the root category.
CatalogException - on general error.
SQLException - on database access error.

getRootCategory

public Category getRootCategory(Connection connection,
                                CatalogRequest request)
                         throws CatalogException,
                                SQLException
Returns the root category. If the root category does not exist, it will be created.

Specified by:
getRootCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Returns:
The root category.
Throws:
CatalogCreateException - if the root category could not be created.
CatalogException - on general error.
SQLException - on database access error.

getSiblingCount

public int getSiblingCount(Connection connection,
                           CatalogRequest request,
                           CategoryKey categoryKey)
                    throws CatalogFinderException,
                           CatalogException,
                           SQLException
Returns the number of siblings associated with the specified category.

Specified by:
getSiblingCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
The number of siblings associated with the specified category.
Throws:
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.
SQLException - on database access error.

getSiblingKeys

public CategoryKey[] getSiblingKeys(Connection connection,
                                    CatalogRequest request,
                                    CategoryKey categoryKey,
                                    int beginIndex,
                                    int endIndex)
                             throws CatalogException,
                                    SQLException
Returns an array of all exististing sibling keys of the specified category within the specified ordered range.

Specified by:
getSiblingKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
beginIndex - The lower bound index for returned sibling keys.
endIndex - The upper bound index for returned sibling keys.
Returns:
An array of the sibling keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

getSubCategoryCount

public int getSubCategoryCount(Connection connection,
                               CatalogRequest request,
                               CategoryKey categoryKey)
                        throws CatalogFinderException,
                               CatalogException,
                               SQLException
Returns the number of sub categories associated with the specified category.

Specified by:
getSubCategoryCount in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Returns:
The number of sub categories associated with the specified category.
Throws:
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.
SQLException - on database access error.

getSubCategoryKeys

public CategoryKey[] getSubCategoryKeys(Connection connection,
                                        CatalogRequest request,
                                        CategoryKey categoryKey,
                                        int beginIndex,
                                        int endIndex)
                                 throws CatalogException,
                                        SQLException
Returns an array of all sub category keys of the specified category within the specified ordered range.

Specified by:
getSubCategoryKeys in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
beginIndex - The lower bound index for returned sub category keys.
endIndex - The upper bound index for returned sub category keys.
Returns:
An array of all the sub category keys.
Throws:
CatalogException - on general error.
SQLException - on database access error.

initialize

public void initialize(String schemaName)
Specified by:
initialize in interface CatalogSqlManager

moveCategory

public void moveCategory(Connection connection,
                         CatalogRequest request,
                         CategoryKey categoryKey,
                         CategoryKey newParentKey)
                  throws CatalogFinderException,
                         CatalogException,
                         SQLException
Moves the specifed category.

Specified by:
moveCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Throws:
CatalogFinderException - if the specified target or parent category could not be found.
CatalogException - on general error.
SQLException - on database access error.

removeCategory

public void removeCategory(Connection connection,
                           CatalogRequest request,
                           CategoryKey categoryKey)
                    throws CatalogRemoveException,
                           CatalogException,
                           SQLException
Removes the specifed category.

Specified by:
removeCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of the target category.
Throws:
CatalogRemoveException - if the specified category could not be removed.
CatalogException - on general error.
SQLException - on database access error.

removeItem

public void removeItem(Connection connection,
                       CatalogRequest request,
                       CategoryKey categoryKey,
                       ProductItemKey itemKey)
                throws CatalogFinderException,
                       CatalogException,
                       SQLException
Removes an item from the specified category.

Specified by:
removeItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
categoryKey - The key of target category.
itemKey - The key of the target item.
Throws:
CatalogFinderException - if the target category could not be found.
CatalogException - on general error.
SQLException - on database access error.

removeItem

public void removeItem(Connection connection,
                       CatalogRequest request,
                       ProductItemKey productKey)
                throws CatalogRemoveException,
                       CatalogFinderException,
                       CatalogException,
                       SQLException
Removes a product item.

Specified by:
removeItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
Throws:
CatalogRemoveException - if the product item could not be removed.
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException - on database access error.

setKeywords

public void setKeywords(Connection connection,
                        CatalogRequest request,
                        ProductItemKey productKey,
                        String[] keywords)
                 throws CatalogFinderException,
                        CatalogException,
                        SQLException
Sets the keywords for a given product item.

Specified by:
setKeywords in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
productKey - The key of the target product.
keywords - The keywords to associate with the given product item.
Throws:
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException - on database access error.

updateCategory

public void updateCategory(Connection connection,
                           CatalogRequest request,
                           Category category)
                    throws CatalogFinderException,
                           CatalogException,
                           SQLException
Updates the specifed category.

Specified by:
updateCategory in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
category - The category to update.
Throws:
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.
SQLException - on database access error.

updateItem

public void updateItem(Connection connection,
                       CatalogRequest request,
                       ProductItem product)
                throws CatalogFinderException,
                       CatalogException,
                       SQLException
Updates a product item.

Specified by:
updateItem in interface CatalogSqlManager
Parameters:
connection - The database connection object.
request - The catalog request object.
product - The product item to update.
Throws:
CatalogFinderException - if the product item could not be found.
CatalogException - on general error.
SQLException - on database access error.

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved