© 2005 BEA Systems, Inc.

com.beasys.commerce.ebusiness.catalog.service.category
Class JdbcCategoryManagerImpl

java.lang.Object
  extended bycom.beasys.commerce.foundation.SessionImpl
      extended bycom.beasys.commerce.ebusiness.catalog.service.CatalogServiceImpl
          extended bycom.beasys.commerce.ebusiness.catalog.service.JdbcCatalogServiceImpl
              extended bycom.beasys.commerce.ebusiness.catalog.service.category.JdbcCategoryManagerImpl
All Implemented Interfaces:
EnterpriseBean, Serializable, SessionBean

public class JdbcCategoryManagerImpl
extends JdbcCatalogServiceImpl

Implementation class for the Tier 2 service provider that manages catalog categories using a JDBC persistence model. This class should not be accessed directly, instead all catalog access should pass through the CatalogManager.getCategoryManager method.

See Also:
CatalogManager, JdbcCategoryManager, JdbcCategoryManagerHome, Serialized Form

Field Summary
 
Fields inherited from class com.beasys.commerce.ebusiness.catalog.service.JdbcCatalogServiceImpl
DATA_SOURCE_NAME, SCHEMA_FILE_NAME, SQL_MANAGER_CLASS
 
Fields inherited from class com.beasys.commerce.ebusiness.catalog.service.CatalogServiceImpl
CATALOG_MANAGER_HOME
 
Fields inherited from class com.beasys.commerce.foundation.SessionImpl
_ctx, _environmentNamingContext, _environmentPropertyCache, _isDirty
 
Constructor Summary
JdbcCategoryManagerImpl()
           
 
Method Summary
 void addItem(CatalogRequest request, CategoryKey categoryKey, ProductItemKey itemKey)
          Adds an item to the specified category.
 void createCategory(CatalogRequest request, CategoryKey parentKey, Category category)
          Creates a sub category within the supplied parent category.
 void ejbActivate()
          ejbActivate method.
 void ejbCreate()
          ejbCreate method.
 void ejbPassivate()
          ejbPassivate method.
 void ejbPostCreate()
          ejbPostCreate method.
 void ejbRemove()
          ejbRemove method.
 Category[] getAncestors(CatalogRequest request, CategoryKey categoryKey)
          Returns the ancestors of the specified category in ascending order.
 Category[] getCategories(CatalogRequest request, CategoryKey[] categoryKeys)
          Returns the categories with the given category keys.
 ViewIterator getCategories(CatalogRequest request, int viewSize)
          Returns a ViewIterator over all existing categories.
 Category getCategory(CatalogRequest request, CategoryKey categoryKey)
          Returns the category with the given category key.
 int getCategoryCount(CatalogRequest request)
          Returns the total number of categories in the product catalog.
 CategoryKey[] getCategoryKeys(CatalogRequest request, int beginIndex, int endIndex)
          Returns an array of all existing category keys within the specified ordered range.
 CategoryKey[] getItemCategories(CatalogRequest request, ProductItemKey productKey)
          Gets all the categories that an item is a part of.
 CategoryKey[][] getItemCategories(CatalogRequest request, ProductItemKey[] productKeys)
          Returns an array of arrays of all the categories that items are part of.
 int getItemCount(CatalogRequest request, CategoryKey categoryKey)
          Returns the number of product items associated with the specified category.
 ProductItemKey[] getItemKeys(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.
 ViewIterator getItems(CatalogRequest request, CategoryKey categoryKey, int viewSize)
          Returns a ViewIterator over all product items of the specified category.
 int getOrphanedItemCount(CatalogRequest request)
          Returns the number of orphaned items in the catalog.
 ProductItemKey[] getOrphanedItemKeys(CatalogRequest request, int beginIndex, int endIndex)
          Returns an array of all existing orphaned category keys within the specified ordered range.
 ViewIterator getOrphanedItems(CatalogRequest request, int viewSize)
          Returns a ViewIterator over all existing orphaned categories.
 Category getParent(CatalogRequest request, CategoryKey categoryKey)
          Returns the parent of the specified category.
 Category getRootCategory(CatalogRequest request)
          Returns the root category.
 int getSiblingCount(CatalogRequest request, CategoryKey categoryKey)
          Returns the number of siblings associated with the specified category.
 CategoryKey[] getSiblingKeys(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.
 ViewIterator getSiblings(CatalogRequest request, CategoryKey categoryKey, int viewSize)
          Returns a ViewIterator over all siblings of the specified category.
 ViewIterator getSubCategories(CatalogRequest request, CategoryKey categoryKey, int viewSize)
          Returns a ViewIterator over all sub categories of the specified category.
 int getSubCategoryCount(CatalogRequest request, CategoryKey categoryKey)
          Returns the number of sub categories associated with the specified category.
 CategoryKey[] getSubCategoryKeys(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 moveCategory(CatalogRequest request, CategoryKey categoryKey, CategoryKey newParentKey)
          Moves the specifed category.
 void removeCategory(CatalogRequest request, CategoryKey categoryKey)
          Removes the specifed category.
 void removeItem(CatalogRequest request, CategoryKey categoryKey, ProductItemKey itemKey)
          Removes an item from the specified category.
 void setSessionContext(SessionContext ctx)
          setSessionContext method.
 void updateCategory(CatalogRequest request, Category category)
          Updates the specifed category.
 
Methods inherited from class com.beasys.commerce.ebusiness.catalog.service.JdbcCatalogServiceImpl
getCatalogSchemaName, getCatalogSqlManager, getCatalogSqlManager, getCatalogSqlManagerName, getDatabaseConnection, getJdbcCatalogFactory
 
Methods inherited from class com.beasys.commerce.ebusiness.catalog.service.CatalogServiceImpl
getCatalogManager, getCatalogManagerJndiName, validateAuthorization
 
Methods inherited from class com.beasys.commerce.foundation.SessionImpl
clearRelationalBinding, clearRelationalBinding, clearRelationalBinding, clearRelationalBinding, doRelationalBinding, doRelationalBinding, doRelationalBindingOnElement, doRelationalBindingOnElement, doRelationalBindingOnElement, doRelationalBindingOnSingleton, doRelationalBindingOnSingleton, doRelationalBindingOnSingleton, doRelationalBindingWithMapKey, doRelationalBindingWithMapKey, doRelationalBindingWithMapKey, enumerateRelationalBinding, enumerateRelationalBinding, getEnvironmentNamingContext, getEnvironmentProperty, getEnvironmentProperty, getEnvironmentPropertyCache, getPersistenceHelperPlugin, getSessionContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JdbcCategoryManagerImpl

public JdbcCategoryManagerImpl()
Method Detail

addItem

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

Parameters:
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.

createCategory

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

Parameters:
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.

ejbActivate

public void ejbActivate()
                 throws EJBException
Description copied from class: SessionImpl
ejbActivate method.

Specified by:
ejbActivate in interface SessionBean
Overrides:
ejbActivate in class JdbcCatalogServiceImpl
Throws:
EJBException

ejbCreate

public void ejbCreate()
               throws CreateException
Description copied from class: SessionImpl
ejbCreate method.

Overrides:
ejbCreate in class JdbcCatalogServiceImpl
Throws:
CreateException

ejbPassivate

public void ejbPassivate()
                  throws EJBException
Description copied from class: SessionImpl
ejbPassivate method.

Specified by:
ejbPassivate in interface SessionBean
Overrides:
ejbPassivate in class JdbcCatalogServiceImpl
Throws:
EJBException

ejbPostCreate

public void ejbPostCreate()
                   throws CreateException
Description copied from class: SessionImpl
ejbPostCreate method.

Overrides:
ejbPostCreate in class JdbcCatalogServiceImpl
Throws:
CreateException

ejbRemove

public void ejbRemove()
               throws EJBException
Description copied from class: SessionImpl
ejbRemove method.

Specified by:
ejbRemove in interface SessionBean
Overrides:
ejbRemove in class JdbcCatalogServiceImpl
Throws:
EJBException

getAncestors

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

Parameters:
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.

getCategories

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

Parameters:
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.

getCategories

public ViewIterator getCategories(CatalogRequest request,
                                  int viewSize)
                           throws RemoteException,
                                  CatalogException
Returns a ViewIterator over all existing categories.

Parameters:
request - The catalog request object.
viewSize - The view size of the returned ViewIterator.
Returns:
A ViewIterator over the categories.
Throws:
CatalogException - on general error.
RemoteException

getCategory

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

Parameters:
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.

getCategoryCount

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

Parameters:
request - The catalog request object.
Returns:
The total number of categories in the product catalog.
Throws:
CatalogException - on general error.

getCategoryKeys

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

Parameters:
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.

getItemCategories

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

Parameters:
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.
RemoteException

getItemCategories

public CategoryKey[][] getItemCategories(CatalogRequest request,
                                         ProductItemKey[] productKeys)
                                  throws RemoteException,
                                         CatalogException
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.
RemoteException

getItemCount

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

Parameters:
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.

getItemKeys

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

Parameters:
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.

getItems

public ViewIterator getItems(CatalogRequest request,
                             CategoryKey categoryKey,
                             int viewSize)
                      throws RemoteException,
                             CatalogException
Returns a ViewIterator over all product items of the specified category.

Parameters:
request - The catalog request object.
categoryKey - The key of the target category.
viewSize - The view size of the returned ViewIterator.
Returns:
A ViewIterator over all product items.
Throws:
CatalogException - on general error.
RemoteException

getOrphanedItemCount

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

Parameters:
request - The catalog request object.
Returns:
The number of orphaned items in the catalog.
Throws:
CatalogException - on general error.

getOrphanedItemKeys

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

Parameters:
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.

getOrphanedItems

public ViewIterator getOrphanedItems(CatalogRequest request,
                                     int viewSize)
                              throws RemoteException,
                                     CatalogException
Returns a ViewIterator over all existing orphaned categories.

Parameters:
request - The catalog request object.
viewSize - The view size of the returned ViewIterator.
Returns:
A ViewIterator over all existing orphaned categories.
Throws:
CatalogException - on general error.
RemoteException

getParent

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

Parameters:
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.

getRootCategory

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

Parameters:
request - The catalog request object.
Returns:
The root category.
Throws:
CatalogCreateException - if the root category could not be created.
CatalogException - on general error.

getSiblingCount

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

Parameters:
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.

getSiblingKeys

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

Parameters:
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.

getSiblings

public ViewIterator getSiblings(CatalogRequest request,
                                CategoryKey categoryKey,
                                int viewSize)
                         throws RemoteException,
                                CatalogException
Returns a ViewIterator over all siblings of the specified category.

Parameters:
request - The catalog request object.
categoryKey - The key of the target category.
viewSize - The view size of the returned ViewIterator.
Returns:
A ViewIterator over all siblings.
Throws:
CatalogException - on general error.
RemoteException

getSubCategories

public ViewIterator getSubCategories(CatalogRequest request,
                                     CategoryKey categoryKey,
                                     int viewSize)
                              throws RemoteException,
                                     CatalogException
Returns a ViewIterator over all sub categories of the specified category.

Parameters:
request - The catalog request object.
categoryKey - The key of the target category.
viewSize - The view size of the returned ViewIterator.
Returns:
A ViewIterator over all the sub categories.
Throws:
CatalogException - on general error.
RemoteException

getSubCategoryCount

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

Parameters:
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.

getSubCategoryKeys

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

Parameters:
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.

moveCategory

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

Parameters:
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.

removeCategory

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

Parameters:
request - The catalog request object.
categoryKey - The key of the target category.
Throws:
CatalogRemoveException - if the specified category could not be removed.
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.

removeItem

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

Parameters:
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.

setSessionContext

public void setSessionContext(SessionContext ctx)
                       throws EJBException
Description copied from class: SessionImpl
setSessionContext method.

Specified by:
setSessionContext in interface SessionBean
Overrides:
setSessionContext in class JdbcCatalogServiceImpl
Throws:
EJBException

updateCategory

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

Parameters:
request - The catalog request object.
category - The category to update.
Throws:
CatalogFinderException - if the specified category could not be found.
CatalogException - on general error.

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved