public class AncestorGeneratorService
extends atg.commerce.catalog.custom.TreeWalkUpdateService
This CMSService performs the following service functions Available service functions: AGS_GENPROPERTIES - generate catalog, catalogs, and AncestorCategories (for catalogs, products, skus) AGS_GENCATALOGS - generate catalog and catalogs (for catalogs, products and skus) AGS_GENPARENTCATS - generate parent categories AGS_GENANCESTORS - generate ancestors (for products and skus) AGS_GENPROPERTIES_FOR_CATEGORY - only generate category and above AGS_GENPROPERTIES_FOR_PRODUCT - only generate product and above
this.getAvailableFunctions,
NOTE: the AGS can run in two modes. By default product and SKU relationships will be generated on the
database itself via stored procedures. However if legacy mode is enabled it will instead generate product
and SKU relationships using the old method of walking the catalog tree.
generateAncestors, generates the set of ancestor categories for each
category and product in each catalog
in the catalog repository, and updates the ancestorCategories property.
Methods generateCategoryAncestors and generateProductAncestors
can be called to update the ancestors for only categories or products, respectively.
generateCatalogAndCatalogs, generates the catalog and catalogs properties
for all categories, products and skus in each catalog
generateCatalogParentCategoriesForProducts, generates the parent category
at the catalog level. This is necessary when more than one category in a catalog
has the same product as a childProduct.
Methods generateCatalogsForProducts , generateCatalogsForSkus
and generateCatalogAndCatalogsForCategories
can be called to update the catalogs and catalogs properties
for only categories, products or skus, respectively.
This set is used in hierarchical search.
You may limit this to specific catalogs by provide a Collection of catalog ids.
,
| Type | Property and Description |
|---|---|
boolean |
isUpdateCatalogs
Gets the value of the property updateCatalogsProperty.
|
boolean |
isUpdateSites
Gets the value of the property updateSitesProperty.
|
atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean, atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowMapKey, atg.commerce.catalog.custom.TreeWalkUpdateService.UpdateRange, atg.commerce.catalog.custom.TreeWalkUpdateService.UpdateRangeViaGSA| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected java.lang.String |
mUpdateProductAncestorCategoriesSQL |
protected java.lang.String |
mUpdateProductCatalogsSQL |
protected java.lang.String |
mUpdateProductParentCategoriesForCatalogsSQL |
protected java.lang.String |
mUpdateProductSitesSQL |
protected java.lang.String |
mUpdateSkuCatalogsSQL |
protected java.lang.String |
mUpdateSkuSitesSQL |
GENERIC_LOOP, mDynamicProductsByCategoryMap, PROCESS_NAME_PREFIXmJobIdSERVICE_INFO_KEYAGS_GENANCESTORS, AGS_GENANCESTORS_FOR_CATEGORY, AGS_GENANCESTORS_FOR_PRODUCT, AGS_GENCATALOGS, AGS_GENCATALOGS_FOR_CATEGORY, AGS_GENCATALOGS_FOR_PRODUCT, AGS_GENCATALOGS_FOR_SKU, AGS_GENPARENTCATS, AGS_GENPROPERTIES, AGS_GENPROPERTIES_FOR_CATEGORY, AGS_GENPROPERTIES_FOR_PRODUCT, ANCESTORS_GENERATED, CATALOGS_UPDATED, CATALOGS_VERIFIED, CATEGORIES_VERIFIED, CUS_INVALID_PARENT_BRANCH, CUS_NAME_ALREADY_IN_USE, CUS_UNABLE_TO_GET_WS, CUS_UPDATECATALOGS, CUS_USING_CHECKED_IN_WS, CUS_VM_NOT_SET, CUS_WS_NOT_CREATED, CUS_WS_NOT_CREATED_INVALID_PARENT_BRANCH, CUS_WS_REQUIRED, CVS_VERIFYCATALOGS, CVS_VERIFYCATEGORIES, CVS_VERIFYPRODUCTS, CVS_VERIFYSKUS, DEFAULT_CATALOG_FOLDER_ITEM_TYPE, DEFAULT_CATALOG_ITEM_TYPE, DEFAULT_MAP_SIZE, GENERATED_ANCESTORS_MAP, INFOS_GENERATED, IS_ANCESTORS_GENERATED_MAP, LEVEL_DEBUG, LEVEL_ERROR, LEVEL_INFO, LEVEL_WARNING, MY_RESOURCE_NAME, NO_PATH, NOT_GENERATOR, sResourceBundle, TYPE_ANCESTOR, TYPE_CATALOGMAINTENANCE, TYPE_CUSTOM_MIGRATION, TYPE_MIGRATION, TYPE_UPDATE, TYPE_VERIFY, VALID_PATHDEFAULT_LOG_TRACE_STATUSDEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS| Constructor and Description |
|---|
AncestorGeneratorService() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
clearWorkingData()
Called at the start of processing to clear down data we build up during processing.
|
protected void |
close(java.sql.ResultSet pResultSet)
Close a result set
|
protected void |
close(atg.adapter.gsa.SQLStatement pStatement)
Close an SQLStatement logging any SQLExceptions.
|
void |
doStopService()
The default implementation is to just stop our scheduled job.
|
protected void |
generateAndExecuteRanges(RepositoryItemDescriptor pRepositoryItemDescriptor,
RepositoryViewImpl pRepositoryView,
java.lang.String pType)
This method batches updates to the database in chunks.
|
protected void |
generateDynamicChildren()
If we include dynamic children then we also now need to store the dynamic child products
of any changed categories in the database to allow stored procedures to include them.
|
int |
getCacheInvalidationThreshold()
Gets the CacheInvalidationThreshold property.
|
java.lang.String |
getCatalogsSQL()
This SQL gets a list of catalogs from the skus parent products
|
protected java.util.Collection<java.lang.String> |
getCategoriesForProduct(RepositoryItem pProduct)
This checks the repository and the map that holds the dynamic products
|
java.lang.String |
getCategoryChildProductsSQL()
Gets the SQL to select all child products for a category not including dynamic child products.
|
java.lang.String |
getCategoryChildProductsWithDynamicSQL()
Gets the SQL to select all child products for a category including dynamic child products.
|
java.lang.String |
getCategoryChildSkusSQL()
Gets the SQL to select all child skus for a category not including dynamic child products.
|
java.lang.String |
getCategoryChildSkusWithDynamicSQL()
Gets the SQL to select all child skus for a category including dynamic child products.
|
long |
getClearCMSWorkingDataTimeout()
Retrieve the value in milliseconds of the clear CMS working data timeout.
|
int |
getCMSCommitSize()
Returns the number of rows which are committed at once in cms stored
procs which commit inside a loop.
|
java.lang.String |
getDeleteCatalogsCheck()
This method returns the sql that compares the product level
catalogs with their child skus.
|
java.lang.String |
getDeleteProductAncestorCategoriesCheck()
This method returns the sql that compares the category level
ancestor categories with their child products.
|
java.lang.String |
getDeleteProductCatalogsCheck()
This method returns the sql that compares the category level
catalogs with their child products.
|
java.lang.String |
getDeleteProductParentCategoriesForCatalogCheck()
This method returns the sql that compares the category level
parent categories for catalog with their child products.
|
java.lang.String |
getDeleteProductSiteCheck()
This method returns the SQL that compares the category level
sites with their child product.
|
java.lang.String |
getDeleteSiteCheck()
This method returns the SQL that compares the product level
sites with their child skus.
|
protected java.util.List<java.lang.String> |
getDynamicProducts(Repository pRepository,
RepositoryItem pItem) |
protected java.util.concurrent.ExecutorService |
getExecutor() |
java.lang.String |
getInsertCatalogsCheck()
This method returns the SQL that compares the product level
catalogs with their child skus.
|
java.lang.String |
getInsertDynamicProductsSQL()
Gets the SQL to insert dynamic child products for a category.
|
java.lang.String |
getInsertProductAncestorCategoriesCheck()
This method returns the sql that compares the category level
ancestor categories with their child products.
|
java.lang.String |
getInsertProductCatalogsCheck()
This method returns the SQL that compares the category level
catalogs with their child products.
|
java.lang.String |
getInsertProductParentCategoriesForCatalogCheck()
This method returns the sql that compares the category level
parent categories for catalog with their child products.
|
java.lang.String |
getInsertProductSiteCheck()
This method returns the sql that compares the category level
sites with their child products.
|
java.lang.String |
getInsertSiteCheck()
This method returns the sql that compares the product level
sites with their child skus.
|
int |
getInvalidateCategoryBatchSize()
Max number of categories to process in one batch for invalidating child product and skus
|
java.lang.String |
getInvalidatedProductAssetIdsCountSQL()
Gets the SQL to check the size of the cache-invalidated product IDs table.
|
java.lang.String |
getInvalidatedSKUAssetIdsCountSQL()
Gets the SQL to check the size of the cache-invalidated sku IDs table.
|
int |
getInvalidateFetchSize()
Fetch size for the result set to return child product and skus for a category batch
|
java.lang.String |
getNameToLog() |
int |
getNumberOfConcurrentUpdateThreads() |
int |
getNumberOfHoursToTimeOutThreads() |
java.lang.String |
getProdsToInvalidateSQL() |
java.lang.String |
getProductAncestorCategoriesSQL()
This method returns the SQL that compares the category level
ancestor categories with their child products.
|
java.lang.String |
getProductCatalogsSQL()
This SQL gets a list of catalogs from the products parent categories
|
java.lang.String |
getProductParentCategoriesForCatalogsSQL()
This SQL gets a list of parent categories for Catalog from the products parent category
|
java.lang.String |
getProductSitesSQL()
This SQL gets a list of sites from the skus parent products
|
java.lang.String |
getServiceName() |
java.lang.String |
getSitesSQL()
This SQL gets a list of sites from the skus parent products
|
java.lang.String |
getSkusToInvalidateSQL() |
protected atg.commerce.catalog.custom.AncestorGeneratorService.GSATableAndColumnNames |
getTableAndColumnNames() |
java.lang.String |
getTruncateDynamicProductsSQL()
Gets the SQL to truncate all dynamic child products.
|
java.lang.String |
getTruncateInvalidProdIdsTableSQL()
Gets the SQL to truncate all invalid product ids.
|
java.lang.String |
getTruncateInvalidSkuIdsTableSQL()
Gets the SQL to truncate all invalid sku ids.
|
java.lang.String |
getUpdateProductAncestorCategoriesSQL()
SQL to update the product ancestor categories relationship
|
java.lang.String |
getUpdateProductCatalogsSQL()
SQL to update the product catalogs relationship
|
java.lang.String |
getUpdateProductParentCategoriesForCatalogsSQL()
SQL to update the product parent categories for catalogs relationship
|
java.lang.String |
getUpdateProductSitesSQL()
SQL to update the product sites relationship
|
java.lang.String |
getUpdateSkuCatalogsSQL()
SQL to update the sku catalogs relationship
|
java.lang.String |
getUpdateSkuSitesSQL()
SQL to update the sku sites relationship
|
protected void |
goingDownUpdateItem(RepositoryItem pParentItem,
RepositoryItem pCurrentItem,
atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean pShadowBean)
This method sets all the properties calculated by this service
that are pulled down from the top of the tree.
|
protected void |
goingUpUpdateItem(RepositoryItem pParentItem,
RepositoryItem pCurrentItem,
atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean shadowBean)
This method sets all the properties calculated by this service
the are pulled up from the bottom of the tree.
|
protected int |
invalidateCaches()
Manually invalidate the cache assets that were updated during this run.
|
boolean |
isAlwaysWalkTree()
Gets the alwaysWalkTree property.
|
boolean |
isCacheInvalidationThresholdAlreadyReached() |
protected boolean |
isShutDownInProcess() |
boolean |
isUpdateCatalogsProperty()
Gets the value of the property updateCatalogsProperty.
|
boolean |
isUpdateSitesProperty()
Gets the value of the property updateSitesProperty.
|
boolean |
preService(Repository pRepository,
java.util.Collection pCatalogIds,
java.util.List pServiceFunctions)
Method called prior to start of maintenance
|
void |
setAlwaysWalkTree(boolean pAlwaysWalkTree)
Sets the alwaysWalkTree property.
|
void |
setCacheInvalidationThreshold(int pCacheInvalidationThreshold)
Sets the CacheInvalidationThreshold property.
|
void |
setCacheInvalidationThresholdAlreadyReached(boolean pCacheInvalidationThresholdReached) |
void |
setCatalogSQL(java.lang.String pCatalogSQL) |
void |
setCategoryChildProductsSQL(java.lang.String pCategoryChildProductsSQL)
Sets the categoryChildProductsSQL property.
|
void |
setCategoryChildProductsWithDynamicSQL(java.lang.String pCategoryChildProductsWithDynamicSQL)
Sets the categoryChildProductsWithDynamicSQL property.
|
void |
setCategoryChildSkusSQL(java.lang.String pCategoryChildSkusSQL)
Sets the categoryChildSkusSQL property.
|
void |
setCategoryChildSkusWithDynamicSQL(java.lang.String pCategoryChildSkusWithDynamicSQL)
Sets the categoryChildSkusWithDynamicSQL property.
|
void |
setClearCMSWorkingDataTimeout(long pClearCMSWorkingDataTimeout)
Sets the amount of time in milliseconds the system should spend re-trying
to clear up CMS working data deletion if it should fail first time.
|
void |
setCMSCommitSize(int pCMSCommitSize)
In cms stored procs which commit inside a loop, sets the number rows
to commit at once.
|
void |
setDeleteCatalogsCheck(java.lang.String pDeleteCatalogsCheck) |
void |
setDeleteProductAncestorCategoriesCheck(java.lang.String pDeleteProductAncestorCategoriesCheck) |
void |
setDeleteProductParentCategoriesForCatalogCheck(java.lang.String pDeleteProductParentCategoriesForCatalogCheck) |
void |
setDeleteProductSiteCheck(java.lang.String pDeleteProductSiteCheck) |
void |
setDeleteSiteCheck(java.lang.String pDeleteSiteCheck) |
protected void |
setExecutor(java.util.concurrent.ExecutorService pExecutorService) |
void |
setInsertCatalogsCheck(java.lang.String pInsertCatalogsCheck) |
void |
setInsertDynamicProductsSQL(java.lang.String pInsertDynamicProductsSQL)
Sets the insertDynamicProductsSQL property.
|
void |
setInsertProductAncestorCategoriesCheck(java.lang.String pInsertProductAncestorCategoriesCheck) |
void |
setInsertProductCatalogsCheck(java.lang.String pInsertProductCatalogsCheck) |
void |
setInsertProductParentCategoriesForCatalogCheck(java.lang.String pInsertProductParentCategoriesForCatalogCheck) |
void |
setInsertProductSiteCheck(java.lang.String pInsertProductSiteCheck) |
void |
setInsertSiteCheck(java.lang.String pInsertSiteCheck) |
void |
setInvalidateCategoryBatchSize(int pInvalidateCategoryBatchSize)
Max number of categories to process in one batch for invalidating child product and skus
|
void |
setInvalidatedProductAssetIdsCountSQL(java.lang.String pInvalidatedProductAssetIdsCountSQL)
Sets the invalidatedProductAssetIdsCountSQL property.
|
void |
setInvalidatedSKUAssetIdsCountSQL(java.lang.String pInvalidatedSKUAssetIdsCountSQL)
Sets the invalidatedProductAssetIdsCountSQL property.
|
void |
setInvalidateFetchSize(int pInvalidateFetchSize)
Fetch size for the result set to return child product and skus for a category batch
|
void |
setNumberOfConcurrentUpdateThreads(int pNumberOfConcurrentUpdateThreads) |
void |
setNumberOfHoursToTimeOutThreads(int pNumberOfHoursToTimeOutThreads) |
void |
setParentCategoriesForCatalogSQL(java.lang.String pParentCategoriesForCatalogSQL) |
void |
setProdsToInvalidateSQL(java.lang.String pProdsToInvalidateSQL) |
void |
setProductAncestorCategoriesSQL(java.lang.String pProductAncestorCategoriesSQL) |
void |
setProductCatalogSQL(java.lang.String pProductCatalogSQL) |
void |
setProductDeleteCatalogsCheck(java.lang.String pDeleteProductCatalogsCheck) |
void |
setProductSitesSQL(java.lang.String pProductSitesSQL) |
protected void |
setShutDownInProcess(boolean pShutDownInProcess) |
void |
setSitesSQL(java.lang.String pSitesSQL) |
void |
setSkusToInvalidateSQL(java.lang.String pSkusToInvalidateSQL) |
protected void |
setTableAndColumnNames(atg.commerce.catalog.custom.AncestorGeneratorService.GSATableAndColumnNames pTableAndColumnNames) |
void |
setTruncateDynamicProductsSQL(java.lang.String pTruncateDynamicProductsSQL)
Sets the truncateDynamicProductsSQL property.
|
void |
setTruncateInvalidProdIdsTableSQL(java.lang.String pTruncateInvalidProdIdsTableSQL)
Sets the truncateInvalidProdIdsTableSQL property.
|
void |
setTruncateInvalidSkuIdsTableSQL(java.lang.String pTruncateInvalidSkuIdsTableSQL)
Sets the truncateInvalidSkuIdsTableSQL property.
|
void |
setUpdateCatalogsProperty(boolean pUpdateCatalogsProperty)
Sets property UpdateCatalogsProperty
|
void |
setUpdateProductAncestorCategoriesSQL(java.lang.String pUpdateProductAncestorCategoriesSQL)
Setter method.
|
void |
setUpdateProductCatalogsSQL(java.lang.String pUpdateProductCatalogsSQL)
Setter method.
|
void |
setUpdateProductParentCategoriesForCatalogsSQL(java.lang.String pUpdateProductParentCategoriesForCatalogsSQL)
Setter method.
|
void |
setUpdateProductSitesSQL(java.lang.String pUpdateProductSitesSQL)
Setter method.
|
void |
setUpdateSitesProperty(boolean pUpdateSitesProperty)
Sets property UpdateSitesProperty
|
void |
setUpdateSkuCatalogsSQL(java.lang.String pUpdateSkuCatalogsSQL)
Setter method.
|
void |
setUpdateSkuSitesSQL(java.lang.String pUpdateSkuSitesSQL)
Setter method.
|
protected boolean |
shouldInvalidateById()
As the service runs, CMS stored procedures may be requested to store the IDs of any assets
which should be invalidated.
|
protected void |
updateCatalog()
The main method does some basic setup and logging, calls processTree and
then does some cleanup.
|
protected void |
updateProducts() |
protected void |
updateSkus() |
buildParentCategoriesForCatalog, getCatalogIds, getCatalogProperties, getCatalogTools, getCategoryLeafNodeArray, getCompletedItems, getDatabaseProductName, getDynamicChildrenList, getDynamicProductsByCategoryMap, getDynamicProductsMap, getMaxItemsPerTransaction, getProcessName, getProjectWorkflow, getRangeQueryRows, getRepository, getServiceFunctions, getSizeOfBatch, isCatalogFoundInTreeStep, isComputeSubCatalogs, isIncludeDynamicChildren, performService, processTree, processTreeItems, recurseTreeAndGetCategories, setCatalogFoundInTreeStep, setCatalogIds, setCatalogProperties, setCatalogTools, setCompletedItems, setComputeSubCatalogs, setDatabaseProductName, setDynamicProductsMap, setIncludeDynamicChildren, setMaxItemsPerTransaction, setProjectWorkflow, setPropertyValueAddAll, setRangeQueryRows, setRepository, setServiceFunctions, setSizeOfBatch, stringIt, stringIt, subProcessTree, treeStep, updateDynamicChildren, updateProductsViaBatch, updateRepository, updateRepositoryItem, updateSkusViaBatchaddErrorMessage, addInfoMessage, addWarningMessage, clearBookkeepingForThread, clearMessages, createCMSMessage, doScheduledTask, doService, getAvailableFunctions, getBookkeepingForThread, getCurrentMessages, getErrorMessages, getFunctionsToPerformByDefault, getInfoMessages, getServiceLock, getTotalNumberOfErrorMessages, getTotalNumberOfInfoMessages, getTotalNumberOfMessages, getTotalNumberOfWarningMessages, getTransactionManager, getWarningMessages, hasFunction, isSaveMessages, logDebug, logError, logInfo, logWarning, performService, postService, removeServiceLock, setAvailableFunctions, setFunctionsToPerformByDefault, setSaveMessages, setTransactionManageracquireLock, getClientLockManager, getLockName, getLockTimeOut, performScheduledTask, releaseLock, setClientLockManager, setLockName, setLockTimeOutdoStartService, getJobDescription, getJobId, getJobName, getSchedule, getScheduler, getThreadMethod, getThreadMethodString, isTransactional, setJobDescription, setJobName, setSchedule, setScheduler, setThreadMethod, setThreadMethodString, setTransactional, startScheduledJob, stopScheduledJobaddLogListener, createAdminServlet, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logError, logError, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService, toStringvlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarningpublic boolean isUpdateSitesProperty
public boolean isUpdateCatalogsProperty
public static final java.lang.String CLASS_VERSION
protected java.lang.String mUpdateProductSitesSQL
protected java.lang.String mUpdateProductAncestorCategoriesSQL
protected java.lang.String mUpdateProductCatalogsSQL
protected java.lang.String mUpdateProductParentCategoriesForCatalogsSQL
protected java.lang.String mUpdateSkuSitesSQL
protected java.lang.String mUpdateSkuCatalogsSQL
public java.lang.String getServiceName()
getServiceName in class atg.commerce.catalog.CMSServicepublic java.lang.String getNameToLog()
getNameToLog in class atg.commerce.catalog.custom.TreeWalkUpdateServicepublic boolean isAlwaysWalkTree()
public void setAlwaysWalkTree(boolean pAlwaysWalkTree)
public int getCacheInvalidationThreshold()
public void setCacheInvalidationThreshold(int pCacheInvalidationThreshold)
public java.lang.String getProdsToInvalidateSQL()
public void setProdsToInvalidateSQL(java.lang.String pProdsToInvalidateSQL)
public java.lang.String getSkusToInvalidateSQL()
public void setSkusToInvalidateSQL(java.lang.String pSkusToInvalidateSQL)
public java.lang.String getInvalidatedSKUAssetIdsCountSQL()
public void setInvalidatedSKUAssetIdsCountSQL(java.lang.String pInvalidatedSKUAssetIdsCountSQL)
public java.lang.String getInvalidatedProductAssetIdsCountSQL()
public void setInvalidatedProductAssetIdsCountSQL(java.lang.String pInvalidatedProductAssetIdsCountSQL)
public java.lang.String getTruncateInvalidProdIdsTableSQL()
public void setTruncateInvalidProdIdsTableSQL(java.lang.String pTruncateInvalidProdIdsTableSQL)
public java.lang.String getTruncateInvalidSkuIdsTableSQL()
public void setTruncateInvalidSkuIdsTableSQL(java.lang.String pTruncateInvalidSkuIdsTableSQL)
public java.lang.String getTruncateDynamicProductsSQL()
public void setTruncateDynamicProductsSQL(java.lang.String pTruncateDynamicProductsSQL)
public java.lang.String getInsertDynamicProductsSQL()
public void setInsertDynamicProductsSQL(java.lang.String pInsertDynamicProductsSQL)
public int getInvalidateCategoryBatchSize()
public void setInvalidateCategoryBatchSize(int pInvalidateCategoryBatchSize)
pInvalidateCategoryBatchSize - intpublic int getInvalidateFetchSize()
public void setInvalidateFetchSize(int pInvalidateFetchSize)
pInvalidateFetchSize - intpublic java.lang.String getCategoryChildProductsSQL()
public void setCategoryChildProductsSQL(java.lang.String pCategoryChildProductsSQL)
public java.lang.String getCategoryChildSkusSQL()
public void setCategoryChildSkusSQL(java.lang.String pCategoryChildSkusSQL)
public java.lang.String getCategoryChildProductsWithDynamicSQL()
public void setCategoryChildProductsWithDynamicSQL(java.lang.String pCategoryChildProductsWithDynamicSQL)
public java.lang.String getCategoryChildSkusWithDynamicSQL()
public void setCategoryChildSkusWithDynamicSQL(java.lang.String pCategoryChildSkusWithDynamicSQL)
public java.lang.String getUpdateProductSitesSQL()
public void setUpdateProductSitesSQL(java.lang.String pUpdateProductSitesSQL)
pUpdateProductSitesSQL - public java.lang.String getUpdateProductAncestorCategoriesSQL()
public void setUpdateProductAncestorCategoriesSQL(java.lang.String pUpdateProductAncestorCategoriesSQL)
pUpdateProductAncestorCategoriesSQL - public java.lang.String getUpdateProductCatalogsSQL()
public void setUpdateProductCatalogsSQL(java.lang.String pUpdateProductCatalogsSQL)
pUpdateProductCatalogsSQL - public java.lang.String getUpdateProductParentCategoriesForCatalogsSQL()
public void setUpdateProductParentCategoriesForCatalogsSQL(java.lang.String pUpdateProductParentCategoriesForCatalogsSQL)
pUpdateProductParentCategoriesForCatalogsSQL - public java.lang.String getUpdateSkuSitesSQL()
public void setUpdateSkuSitesSQL(java.lang.String pUpdateSkuSitesSQL)
pUpdateSkuSitesSQL - public java.lang.String getUpdateSkuCatalogsSQL()
public void setUpdateSkuCatalogsSQL(java.lang.String pUpdateSkuCatalogsSQL)
pUpdateSkuCatalogsSQL - public boolean isUpdateSitesProperty()
public void setUpdateSitesProperty(boolean pUpdateSitesProperty)
public boolean isUpdateCatalogsProperty()
public void setUpdateCatalogsProperty(boolean pUpdateCatalogsProperty)
public void setCMSCommitSize(int pCMSCommitSize)
pCMSCommitSize - public int getCMSCommitSize()
public void setClearCMSWorkingDataTimeout(long pClearCMSWorkingDataTimeout)
public long getClearCMSWorkingDataTimeout()
public int getNumberOfConcurrentUpdateThreads()
public void setNumberOfConcurrentUpdateThreads(int pNumberOfConcurrentUpdateThreads)
public int getNumberOfHoursToTimeOutThreads()
public void setNumberOfHoursToTimeOutThreads(int pNumberOfHoursToTimeOutThreads)
protected void setExecutor(java.util.concurrent.ExecutorService pExecutorService)
protected java.util.concurrent.ExecutorService getExecutor()
protected void setShutDownInProcess(boolean pShutDownInProcess)
protected boolean isShutDownInProcess()
public void setProductDeleteCatalogsCheck(java.lang.String pDeleteProductCatalogsCheck)
protected void setTableAndColumnNames(atg.commerce.catalog.custom.AncestorGeneratorService.GSATableAndColumnNames pTableAndColumnNames)
protected atg.commerce.catalog.custom.AncestorGeneratorService.GSATableAndColumnNames getTableAndColumnNames()
public boolean isCacheInvalidationThresholdAlreadyReached()
public void setCacheInvalidationThresholdAlreadyReached(boolean pCacheInvalidationThresholdReached)
public java.lang.String getDeleteProductCatalogsCheck()
throws RepositoryException
RepositoryExceptionpublic void setDeleteCatalogsCheck(java.lang.String pDeleteCatalogsCheck)
public java.lang.String getDeleteCatalogsCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertProductCatalogsCheck(java.lang.String pInsertProductCatalogsCheck)
public java.lang.String getInsertProductCatalogsCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertCatalogsCheck(java.lang.String pInsertCatalogsCheck)
public java.lang.String getInsertCatalogsCheck()
throws RepositoryException
RepositoryExceptionpublic void setDeleteProductSiteCheck(java.lang.String pDeleteProductSiteCheck)
public java.lang.String getDeleteProductSiteCheck()
throws RepositoryException
RepositoryExceptionpublic void setDeleteSiteCheck(java.lang.String pDeleteSiteCheck)
public java.lang.String getDeleteSiteCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertProductSiteCheck(java.lang.String pInsertProductSiteCheck)
public java.lang.String getInsertProductSiteCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertSiteCheck(java.lang.String pInsertSiteCheck)
public java.lang.String getInsertSiteCheck()
throws RepositoryException
RepositoryExceptionpublic void setSitesSQL(java.lang.String pSitesSQL)
public java.lang.String getSitesSQL()
throws RepositoryException
RepositoryExceptionpublic void setProductSitesSQL(java.lang.String pProductSitesSQL)
public java.lang.String getProductSitesSQL()
throws RepositoryException
RepositoryExceptionpublic void setProductAncestorCategoriesSQL(java.lang.String pProductAncestorCategoriesSQL)
public java.lang.String getProductAncestorCategoriesSQL()
throws RepositoryException
RepositoryExceptionpublic void setCatalogSQL(java.lang.String pCatalogSQL)
public java.lang.String getCatalogsSQL()
throws RepositoryException
RepositoryExceptionpublic void setProductCatalogSQL(java.lang.String pProductCatalogSQL)
public java.lang.String getProductCatalogsSQL()
throws RepositoryException
RepositoryExceptionpublic void setParentCategoriesForCatalogSQL(java.lang.String pParentCategoriesForCatalogSQL)
public java.lang.String getProductParentCategoriesForCatalogsSQL()
throws RepositoryException
RepositoryExceptionpublic void setDeleteProductAncestorCategoriesCheck(java.lang.String pDeleteProductAncestorCategoriesCheck)
public java.lang.String getDeleteProductAncestorCategoriesCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertProductAncestorCategoriesCheck(java.lang.String pInsertProductAncestorCategoriesCheck)
public java.lang.String getInsertProductAncestorCategoriesCheck()
throws RepositoryException
RepositoryExceptionpublic void setDeleteProductParentCategoriesForCatalogCheck(java.lang.String pDeleteProductParentCategoriesForCatalogCheck)
public java.lang.String getDeleteProductParentCategoriesForCatalogCheck()
throws RepositoryException
RepositoryExceptionpublic void setInsertProductParentCategoriesForCatalogCheck(java.lang.String pInsertProductParentCategoriesForCatalogCheck)
public java.lang.String getInsertProductParentCategoriesForCatalogCheck()
throws RepositoryException
RepositoryExceptionpublic boolean preService(Repository pRepository, java.util.Collection pCatalogIds, java.util.List pServiceFunctions)
preService in class atg.commerce.catalog.CMSServicepRepository - the catalogs repositorypCatalogIds - the catalog item ids. note this is only relevant for
custom catalog servicespServiceFunctions - the service functions to performpublic void doStopService()
throws ServiceException
SchedulableServicedoStopService in class SchedulableServiceServiceException - if an error occurred during the operationprotected void updateCatalog()
updateCatalog in class atg.commerce.catalog.custom.TreeWalkUpdateServiceprotected int invalidateCaches()
throws RepositoryException
RepositoryExceptionprotected void clearWorkingData()
throws RepositoryException
RepositoryException - if there are database issues clearing dynamic productsprotected void generateDynamicChildren()
throws RepositoryException
RepositoryExceptionprotected void goingDownUpdateItem(RepositoryItem pParentItem, RepositoryItem pCurrentItem, atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean pShadowBean) throws RepositoryException
goingDownUpdateItem in class atg.commerce.catalog.custom.TreeWalkUpdateServicepParentItem - the parent item is the item that the data will be pulled frompCurrentItem - the current item is the item that will be updated with
data from the pParentItem.pShadowBean - RepositoryException - the repository exceptionprotected java.util.Collection<java.lang.String> getCategoriesForProduct(RepositoryItem pProduct) throws RepositoryException
pProduct - RepositoryExceptionprotected void updateProducts()
throws RepositoryException,
TransactionDemarcationException
updateProducts in class atg.commerce.catalog.custom.TreeWalkUpdateServiceRepositoryExceptionTransactionDemarcationExceptionprotected void generateAndExecuteRanges(RepositoryItemDescriptor pRepositoryItemDescriptor, RepositoryViewImpl pRepositoryView, java.lang.String pType) throws RepositoryException, TransactionDemarcationException
pRepositoryItemDescriptor - pRepositoryView - pType - RepositoryExceptionTransactionDemarcationExceptionprotected void close(java.sql.ResultSet pResultSet)
pResultSet - protected final void close(atg.adapter.gsa.SQLStatement pStatement)
pStatement - statement to close, may be nullprotected boolean shouldInvalidateById()
throws RepositoryException
RepositoryExceptionprotected void updateSkus()
throws RepositoryException,
TransactionDemarcationException
updateSkus in class atg.commerce.catalog.custom.TreeWalkUpdateServiceTransactionDemarcationExceptionRepositoryExceptionprotected java.util.List<java.lang.String> getDynamicProducts(Repository pRepository, RepositoryItem pItem) throws RepositoryException
getDynamicProducts in class atg.commerce.catalog.custom.TreeWalkUpdateServicepRepository - pItem - RepositoryExceptionprotected void goingUpUpdateItem(RepositoryItem pParentItem, RepositoryItem pCurrentItem, atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean shadowBean) throws RepositoryException
goingUpUpdateItem in class atg.commerce.catalog.custom.TreeWalkUpdateServicepParentItem - the parent item that will be updated.pCurrentItem - the current item is used to pull the data
from for the pParentItem update.shadowBean - RepositoryException - the repository exception