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_PREFIX
mJobId
SERVICE_INFO_KEY
AGS_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_PATH
DEFAULT_LOG_TRACE_STATUS
DEFAULT_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, updateSkusViaBatch
addErrorMessage, 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, setTransactionManager
acquireLock, getClientLockManager, getLockName, getLockTimeOut, performScheduledTask, releaseLock, setClientLockManager, setLockName, setLockTimeOut
doStartService, getJobDescription, getJobId, getJobName, getSchedule, getScheduler, getThreadMethod, getThreadMethodString, isTransactional, setJobDescription, setJobName, setSchedule, setScheduler, setThreadMethod, setThreadMethodString, setTransactional, startScheduledJob, stopScheduledJob
addLogListener, 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, toString
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public 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.CMSService
public java.lang.String getNameToLog()
getNameToLog
in class atg.commerce.catalog.custom.TreeWalkUpdateService
public 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
RepositoryException
public void setDeleteCatalogsCheck(java.lang.String pDeleteCatalogsCheck)
public java.lang.String getDeleteCatalogsCheck() throws RepositoryException
RepositoryException
public void setInsertProductCatalogsCheck(java.lang.String pInsertProductCatalogsCheck)
public java.lang.String getInsertProductCatalogsCheck() throws RepositoryException
RepositoryException
public void setInsertCatalogsCheck(java.lang.String pInsertCatalogsCheck)
public java.lang.String getInsertCatalogsCheck() throws RepositoryException
RepositoryException
public void setDeleteProductSiteCheck(java.lang.String pDeleteProductSiteCheck)
public java.lang.String getDeleteProductSiteCheck() throws RepositoryException
RepositoryException
public void setDeleteSiteCheck(java.lang.String pDeleteSiteCheck)
public java.lang.String getDeleteSiteCheck() throws RepositoryException
RepositoryException
public void setInsertProductSiteCheck(java.lang.String pInsertProductSiteCheck)
public java.lang.String getInsertProductSiteCheck() throws RepositoryException
RepositoryException
public void setInsertSiteCheck(java.lang.String pInsertSiteCheck)
public java.lang.String getInsertSiteCheck() throws RepositoryException
RepositoryException
public void setSitesSQL(java.lang.String pSitesSQL)
public java.lang.String getSitesSQL() throws RepositoryException
RepositoryException
public void setProductSitesSQL(java.lang.String pProductSitesSQL)
public java.lang.String getProductSitesSQL() throws RepositoryException
RepositoryException
public void setProductAncestorCategoriesSQL(java.lang.String pProductAncestorCategoriesSQL)
public java.lang.String getProductAncestorCategoriesSQL() throws RepositoryException
RepositoryException
public void setCatalogSQL(java.lang.String pCatalogSQL)
public java.lang.String getCatalogsSQL() throws RepositoryException
RepositoryException
public void setProductCatalogSQL(java.lang.String pProductCatalogSQL)
public java.lang.String getProductCatalogsSQL() throws RepositoryException
RepositoryException
public void setParentCategoriesForCatalogSQL(java.lang.String pParentCategoriesForCatalogSQL)
public java.lang.String getProductParentCategoriesForCatalogsSQL() throws RepositoryException
RepositoryException
public void setDeleteProductAncestorCategoriesCheck(java.lang.String pDeleteProductAncestorCategoriesCheck)
public java.lang.String getDeleteProductAncestorCategoriesCheck() throws RepositoryException
RepositoryException
public void setInsertProductAncestorCategoriesCheck(java.lang.String pInsertProductAncestorCategoriesCheck)
public java.lang.String getInsertProductAncestorCategoriesCheck() throws RepositoryException
RepositoryException
public void setDeleteProductParentCategoriesForCatalogCheck(java.lang.String pDeleteProductParentCategoriesForCatalogCheck)
public java.lang.String getDeleteProductParentCategoriesForCatalogCheck() throws RepositoryException
RepositoryException
public void setInsertProductParentCategoriesForCatalogCheck(java.lang.String pInsertProductParentCategoriesForCatalogCheck)
public java.lang.String getInsertProductParentCategoriesForCatalogCheck() throws RepositoryException
RepositoryException
public boolean preService(Repository pRepository, java.util.Collection pCatalogIds, java.util.List pServiceFunctions)
preService
in class atg.commerce.catalog.CMSService
pRepository
- 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
SchedulableService
doStopService
in class SchedulableService
ServiceException
- if an error occurred during the operationprotected void updateCatalog()
updateCatalog
in class atg.commerce.catalog.custom.TreeWalkUpdateService
protected int invalidateCaches() throws RepositoryException
RepositoryException
protected void clearWorkingData() throws RepositoryException
RepositoryException
- if there are database issues clearing dynamic productsprotected void generateDynamicChildren() throws RepositoryException
RepositoryException
protected void goingDownUpdateItem(RepositoryItem pParentItem, RepositoryItem pCurrentItem, atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean pShadowBean) throws RepositoryException
goingDownUpdateItem
in class atg.commerce.catalog.custom.TreeWalkUpdateService
pParentItem
- 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
- RepositoryException
protected void updateProducts() throws RepositoryException, TransactionDemarcationException
updateProducts
in class atg.commerce.catalog.custom.TreeWalkUpdateService
RepositoryException
TransactionDemarcationException
protected void generateAndExecuteRanges(RepositoryItemDescriptor pRepositoryItemDescriptor, RepositoryViewImpl pRepositoryView, java.lang.String pType) throws RepositoryException, TransactionDemarcationException
pRepositoryItemDescriptor
- pRepositoryView
- pType
- RepositoryException
TransactionDemarcationException
protected 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
RepositoryException
protected void updateSkus() throws RepositoryException, TransactionDemarcationException
updateSkus
in class atg.commerce.catalog.custom.TreeWalkUpdateService
TransactionDemarcationException
RepositoryException
protected java.util.List<java.lang.String> getDynamicProducts(Repository pRepository, RepositoryItem pItem) throws RepositoryException
getDynamicProducts
in class atg.commerce.catalog.custom.TreeWalkUpdateService
pRepository
- pItem
- RepositoryException
protected void goingUpUpdateItem(RepositoryItem pParentItem, RepositoryItem pCurrentItem, atg.commerce.catalog.custom.TreeWalkUpdateService.ShadowBean shadowBean) throws RepositoryException
goingUpUpdateItem
in class atg.commerce.catalog.custom.TreeWalkUpdateService
pParentItem
- 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