@Service(requiredProperties="documentSubmitter") public class IndexingOutputConfig extends GenericRMIService implements IndexingConstants, atg.repository.search.indexing.IndexingSynchronization, Schedulable, atg.repository.search.indexing.RemoteIndexingOutputConfig, atg.nucleus.PostStartupAction
The output from this class can be farther customized by
the use of PropertyFormatter
s, PropertyAccessor
s and
VariantProducer
s.
Created: February 16 2005
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
DEFAULT_DERIVED_PROPERTIES_MODIFIER |
static java.lang.String |
DEFAULT_SITE_INDEX_INFO_SERVICE |
static java.lang.ThreadLocal |
mDocumentSubmitterTL |
protected int |
mJobId
the jobId of our scheduled task
|
static java.lang.String[] |
REQUIRED_DOCUMENT_OUTPUT_PROPERTIES
The list of output properties required for documents.
|
static java.lang.String[] |
REQUIRED_EVERY_ITEM_OUTPUT_PROPERTIES
The list of output properties required for every repository
item.
|
static long |
serialVersionUID |
SERVICE_INFO_KEY
BASE_URL_OUTPUT_PROPERTY_NAME, CONTEXT_OUTPUT_PROPERTY_NAME, DEFAULT_FORMATTER_KEY, DELETED_ITEM_CONTEXT_ATTRIBUTE_NAME, DOCUMENT_ID_OUTPUT_PROPERTY_NAME, PROP_TYPE_BOOLEAN, PROP_TYPE_DATE, PROP_TYPE_ENUM, PROP_TYPE_FLOAT, PROP_TYPE_INTEGER, PROP_TYPE_STRING, PROP_TYPE_TEXT, PROP_TYPE_UNKNOWN, SITE_CONTEXT_ATTRIBUTE_NAME, SITE_CONTEXT_PROPERTY_NAME, URL_OUTPUT_PROPERTY_NAME
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
IndexingOutputConfig()
constructor
|
Modifier and Type | Method and Description |
---|---|
protected void |
addBasicFilters()
Add in the basic filter to the
filterMap . |
protected void |
addBasicFormatters()
Add in the basic formatters to the
formatterMap . |
protected void |
addBasicPropertyAccessors()
Add in the basic property accessors to the
propertyAccessorMap . |
protected void |
addDocumentLevelSpecifiers(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier,
java.util.List pListFound)
Add the the document-level specifier(s) to pListFound.
|
protected void |
addIfNotPresent(java.util.Map pMap,
java.lang.String pKey,
java.lang.Object pValue)
Add the specified value to the specified map if it is not
already present.
|
protected java.lang.String[] |
addInStrings(java.lang.String[] pStrings,
java.lang.String[] pRequiredStrings)
Add
pRequiredStrings to pStrings |
protected java.lang.String[] |
addValidationMessage(java.lang.String pType,
java.lang.String pMessage)
Add a validation message to the array of validation messages
|
void |
afterSessionStart(Context pContext)
This method is invoked immediately after a DocumentSubmitter session
is closed.
|
boolean |
allowPeriodicIndexing()
Whether to allow scheduled indexing.
|
void |
beforeSessionEnd(Context pContext)
This method is invoked immediately before a DocumentSubmitter session
is closed.
|
java.lang.String |
buildUriForRepositoryItem(Context pContext,
Repository pRepository,
atg.repository.search.indexing.ConfigRepositoryItemChanged pItemChanged) |
atg.repository.search.indexing.BulkLoaderResults |
bulkLoad()
Perform a bulk load (full index).
|
atg.repository.search.indexing.BulkLoaderResults |
bulkLoad(atg.repository.search.indexing.DocumentSubmitterSession pSession,
atg.search.index.IndexInfo pIndexInfo)
Perform a bulk load (full index).
|
atg.repository.search.indexing.BulkLoaderResults |
bulkLoad(atg.search.index.IndexInfo pIndexInfo)
Perform a bulk load (full index).
|
atg.repository.search.indexing.LoaderResults |
bulkLoad(java.lang.String pSubmitterId,
java.lang.String pSessionId,
java.lang.String pCallbackUrl,
atg.search.index.IndexInfo pIndexInfo)
bulk load
|
atg.repository.search.indexing.BulkLoaderResults |
bulkLoadForDiagnostics()
Invoke the bulk loader mechanism using the configured document
submitter.
|
atg.repository.search.indexing.BulkLoaderResults |
bulkLoadWithRetry()
BulkLoad and keep retrying if someone else has currently claimed
the configuration.
|
atg.repository.search.indexing.BulkLoaderResults |
bulkLoadWithRetry(atg.repository.search.indexing.DocumentSubmitterSession pDocSubSession,
atg.search.index.IndexInfo pIndexInfo)
BulkLoad and keep retrying if someone else has currently claimed
the configuration.
|
protected void |
calculateOutputPropertyNames()
Calculate the various output properties.
|
protected java.lang.String[] |
calculateOutputPropertyNames(java.lang.Boolean pIsMeta)
Calculate the output property names.
|
boolean |
cancelBulkLoad()
cancel bulk load
|
boolean |
cancelIncrementalUpdate()
cancel incremental update
|
void |
clearIterationState(Context pContext) |
protected boolean |
containsString(java.lang.String pString,
java.lang.String[] pStrings)
Whether the string array
pStrings
contains the specified string pString . |
protected void |
correctRepositoryPath(atg.repository.search.config.Item pType)
correct the repository path to reflect the path
of the unversioned repository
|
protected javax.servlet.Servlet |
createAdminServlet()
Creates and returns a new Servlet that will administer this
service.
|
protected atg.search.index.IndexInfo |
createDefaultIndexInfo()
Create default IndexInfo for indexing tasks that do no supply an
IndexInfo.
|
void |
createInitialIncrementalQueues(atg.search.index.IndexInfo pIndexInfo)
This method ensures that the proper incremental queues are
created for IOCs that are not managed by the search
admin.
|
protected atg.repository.search.indexing.specifier.OutputItemSpecifier |
createOutputItemSpecifier()
Create a new OutputItemSpecifier instance (or subclass).
|
atg.search.index.IndexInfo |
createTestIndexInfo()
Creates and initializes an IndexInfo instances for test document
generation.
|
java.lang.String |
determineLogicalPartitionName(Context pContext,
RepositoryItem pItem)
Assigns a LogicalPartition name that the item should be assigned to.
|
void |
doStartService()
Start up the service, parsing the definition file, etc.
|
void |
doStopService()
The default implementation is to just stop our scheduled job.
|
boolean |
executeSynchronizationsOnly()
Do an incremental update, but only run the synchronizations, do
NOT process any queued updates.
|
atg.repository.search.indexing.DocumentSubmitterSession |
executeTestDocumentGeneration(java.lang.String pId,
DocumentSubmitter pDocumentSubmitter,
atg.search.index.IndexInfo pIndexInfo)
Invoked by the AdminServlet, generates a DocumentSubmitterSession
that was used to submit the resulting document (if any).
|
protected void |
exportAsRemoteService()
export this IndexingOutputConfig as a remote service
that can be accessed via the RmiServer
|
java.util.List<java.lang.String> |
generateTestDocument(java.lang.String pId)
Invoked by the AdminServlet, generates a single output document
for the item specified by the ID parameter or returns an error
message.
|
static void |
getAllOutputItemSpecifiers(java.util.List pResults,
atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier)
Recursively build list of all OutputItemSpecifier objects
|
java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getAllOutputProperties()
Return all known output properties.
|
java.lang.String[] |
getAllOutputPropertyNames()
Get both the text and meta output property names.
|
BulkLoader |
getBulkLoader()
Get the bulk loader used to bulk (full) index.
|
Query |
getBulkLoadQuery(RepositoryView pView,
Query pOptionalQuery)
Generates a bulk load query that constrains the results by
getRepositoryItemGroup() or
creates an unconstrained query if getRepositoryItemGroup is null |
int |
getBulkLoadWithRetryMinutes()
Get the number of minutes to keep trying bulkLoadWithRetry.
|
Schedule |
getBulkSchedule()
Get property
bulkschedule . |
int |
getBulkScheduleConsiderIndexedMinutes()
Get the number of minutes to consider content already indexed for
a scheduled bulk load.
|
Scheduler |
getBulkScheduler()
Get property
bulkscheduler . |
atg.repository.search.indexing.ConfigRepositoryItemChangedProcessor |
getConfigRepositoryItemChangedProcessor()
If provided, this optional component will be called for received
repository change event.
|
PropertyFormatter |
getDefaultFormatter()
Get the default formatter used to format property values.
|
PropertyAccessor |
getDefaultPropertyAccessor()
Get the default property accessor.
|
java.lang.String |
getDefaultPropertyAccessorPath()
Get the nucleus path of the default property accessor.
|
atg.xml.XMLFile |
getDefinitionFile()
The indexing output definition file.
|
atg.repository.search.indexing.DocumentIdGenerator |
getDocumentIdGenerator()
Returns document id generator.
|
java.lang.String[] |
getDocumentLevelOutputProperties()
Get the list of output properties that will be added
to the document-level item.
|
atg.repository.search.indexing.specifier.OutputItemSpecifier[] |
getDocumentLevelSpecifiers()
Return the document-level specifiers.
|
DocumentSubmitter |
getDocumentSubmitter()
Get the document submitter, used to submit documents to
the indexing engine.
|
java.lang.String[] |
getEveryItemOutputProperties()
Get the list of output properties that will be added
to every repository item.
|
ServiceMap |
getFilterMap()
Get the filter map.
|
int |
getForceIncrementalIndexingFromGeneration()
Whether to force incremental indexing from a particular generation, -1 means disabled.
|
ServiceMap |
getFormatterMap()
Get the formatter map.
|
protected java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getHashOutputProps(atg.repository.search.indexing.specifier.OutputProperty[] pProps)
Used in the generation of warning messages for misconfigured
use-for-hash attributes in the definition file.
|
IncrementalLoader |
getIncrementalLoader()
Whether to enable to incremental loader at startup.
|
int |
getIncrementalUpdateSeconds()
The number of seconds between incremental updates.
|
protected java.util.Map<atg.repository.search.indexing.specifier.OutputItemSpecifier,java.util.List<atg.repository.search.indexing.specifier.OutputProperty>> |
getIndexingHashOutputProperties()
This is just a helper function to build the warning message for
multiply defined use-for-hash properties.
|
atg.repository.search.indexing.IndexingSynchronization[] |
getIndexingSynchronizations()
Get the array of indexing synchronizations.
|
java.util.Set<RepositoryItemDescriptor> |
getItemDescriptors()
Get the set of all configured item descriptors
|
atg.repository.search.indexing.IterationProducer |
getIterationProducer()
Get the iteration producer.
|
java.lang.String |
getJobDescription()
Get property
jobDescription |
java.lang.String |
getJobName()
Get property
jobName |
atg.repository.search.indexing.ManualIndexRequest[] |
getManualIndexRequests()
Defines a component that idenitifies which logical partition an item should be inserted into.
|
int |
getMaxFailuresAllowedForCommitting()
The maximum number of failures allowed when committing a document submitter
session.
|
int |
getMaxIncrementalChanges()
The maximum number of incremental changes to accept for a given
incremental update before reverting to a bulk load.
|
int |
getMaxIncrementalChangesPerGeneration()
The maximum number of repository item changes to queue
up in a single generation.
|
int |
getMaxIndexedItems()
The maximum number of documents to index.
|
int |
getMaxNumberProcessItemThreads()
Get the maximum number of process item threads.
|
java.lang.String[] |
getMetaOutputPropertyNames()
Get both the meta output property names.
|
atg.repository.search.indexing.modifier.SpecifierModifier |
getMonitorDerivedPropertiesModifier()
Returns property monitorDerivedPropertiesModifier.
|
java.util.Set<Repository> |
getMonitoredRepositories()
Get the set of repositories monitored for changes by the
incremental loader functionality, if in use, or an empty set.
|
java.lang.String |
getNonVersionRepositoryPath(java.lang.String pPath,
java.util.Map pMap)
Return the path for the non-versioned repository represented by
either pPath or the value in the map that's associated with the
pPath key.
|
atg.repository.search.indexing.specifier.OutputItemSpecifier |
getOutputItemSpecifier()
The output item specifier created from the specified
definitionFile . |
protected java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getOutputProperties(java.lang.Boolean pIsMeta)
Get the specified output properties from all the elements of
the hierarchy.
|
java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getOutputProperties(atg.repository.search.indexing.specifier.OutputItemSpecifier pOIS,
java.lang.Boolean pIsMeta)
Get the specified output properties from all the elements of
the hierarchy.
|
java.lang.String |
getPrimaryRepositoryComponentPath() |
atg.repository.search.indexing.ProcessingPropertiesCallback[] |
getProcessingPropertiesCallbacks()
Returns property processingPropertiesCallbacks.
|
ServiceMap |
getPropertyAccessorMap()
Get propertyAccessorMap...
|
java.util.Map<PropertyAccessor,java.util.Set<atg.repository.search.indexing.specifier.OutputProperty>> |
getPropertyAccessorToOutputPropertySet()
Return a map of custom configured property accessor components to
the OutputProperty instances that use them.
|
java.util.Set<Repository> |
getRepositories()
Return all repositories referenced by the indexing output config.
|
Repository |
getRepository()
Optional override of definition file repository
specification.
|
RepositoryItemGroup |
getRepositoryItemGroup()
Optional override for definition file repository-item-group
component setting.
|
java.lang.String[] |
getRequiredEveryItemOutputProperties()
Get an array of required output properties for every indexed
item.
|
java.lang.String |
getResourceBundleName()
Get a name of resource bundle which is used to get localized names of non-repository properties.
|
atg.server.rmi.RmiServer |
getRmiServer()
get RmiServer
|
Schedule |
getSchedule()
Get property
schedule |
Scheduler |
getScheduler()
Get property
scheduler |
java.util.Map<java.lang.Object,Repository> |
getShadowRepositoryMap() |
atg.search.multisite.SiteIndexInfoService |
getSiteIndexInfoService()
The SiteIndexInfoService used to populate the SiteIndexInfo
property of the IndexInfo object with relevant multisite
information.
|
java.util.Map |
getSynchronizedRepositories()
Used by functionality that synchronizes CA deployments with
indexing to identify customization-only type repositories
associated with IOC's repository.
|
java.lang.String |
getTargetName()
get TargetName
|
java.lang.String |
getTextActiveZones()
Get the text active zones.
|
java.lang.String[] |
getTextOutputPropertyNames()
Get both the text output property names.
|
int |
getThreadedItemQueueBatchSize()
The number of repository items to fetch in one batch when using
the ThreadedItemQueue feature of the bulk loader.
|
int |
getThreadMethod()
Get property
threadMethod |
Repository |
getTopLevelItemRepository()
Return the repository that corresponds to the top-level
"item" element in the definition file.
|
java.lang.String |
getUnversionedRepositoryPath()
get UnversionedRepositoryPath
|
protected java.lang.String[] |
getUnversionedVersionedRepositoryPaths(java.lang.String pRepositoryPath)
Look up the versioned/unversioned repository path using
the DeploymentServer.
|
java.lang.String |
getUriForRepositoryItem(Context pContext,
RepositoryItem pItem)
Get a URI for the specified item
|
protected java.util.List<java.lang.String[]> |
getValidationMessages()
Validate configuration as much as possible
|
VariantProducer[] |
getVariantProducers()
Get the array of variant producers.
|
java.lang.String |
getVersionedRepositoryPath()
get VersionedRepositoryPath
|
java.lang.String |
getVersionRepositoryPath(java.lang.String pPath,
java.util.Map pMap)
Return the path for the version repository represented by either
pPath or the key in the map that refers to the value which is
equal to pPath.
|
boolean |
haveNestedDocumentLevelSpecifiers()
Returns true if any of the sub-item OutputItemSpecifier are a document.
|
protected boolean |
haveNestedDocumentLevelSpecifiers(atg.repository.search.indexing.specifier.OutputItemSpecifier pOis,
boolean pFoundDocLevel) |
void |
incrementallyLoad()
Start the incremental loading functionality.
|
void |
indexedItem(Context pContext,
RepositoryItem pItem)
Notification that specific item has been used to build an indexed
document.
|
boolean |
initializeIndexInfo(atg.search.index.IndexInfo pIndexInfo)
Initialize the IndexInfo object.
|
boolean |
isAutoCreateInitialQueues()
Automatically create initial incremental item queue
configurations on startup.
|
boolean |
isDisableSiteContextFiltering()
Returns property disableSiteContextFiltering.
|
boolean |
isEnableIncrementalLoading()
Whether to enabled incremental loading.
|
boolean |
isEnableScheduledBulkLoading()
Whether scheduled bulk loading is enabled.
|
boolean |
isFilterOutDollarOutputPropertyNames()
Whether to filter out properties containing "$" from
the various "outputPropertyName" properties.
|
boolean |
isForceDeleteGenerations()
Whether to remove all processed generations from the indexing queue on a bulk load
|
boolean |
isMonitorShadowRepositories()
Return true if this component is monitoring changes to one or
more shadow repositories.
|
boolean |
isNonVersionRepository(java.lang.String pPath)
Return true if component path resolves to a non-version
repository.
|
boolean |
isOnPubServer()
get OnPubServer
|
boolean |
isPeriodicActivityUpdateThreadRunning()
Return true if the periodic activity update thread is running
|
boolean |
isTransactional()
Returns property Transactional
|
boolean |
isUseConfigurationClaims()
Whether to use configuration claims for this component.
|
boolean |
isUseThreadedIndexRequestQueue()
Currently only available in live indexing - should be true for live indexing and false otherwise.
|
boolean |
isUseThreadedItemQueue()
If true, use multi-threaded approach to fetching repository items
|
boolean |
isVersionRepository(java.lang.String pPath)
Return true if component path resolves to a version
repository.
|
protected atg.repository.search.config.Item |
jaxbParseFile()
Parse the definition and return the jaxb generated item type.
|
protected void |
modifyOutputItemSpecifier(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier)
Modify the output item specifier as needed (to monitor derived
properties, for example).
|
protected void |
notifyIndexingInitialization()
Notification that an indexing process is about to begin.
|
protected void |
notifyIndexingTermination(atg.repository.search.indexing.LoaderResults pLoaderResults)
Notification that an indexing process has completed begin.
|
void |
performAction()
Implements the PostStartupAction interface.
|
void |
performScheduledTask(Scheduler pScheduler,
ScheduledJob pJob)
Called by the scheduler when it is time for this service to perform its
function.
|
void |
postIndexingCleanup(boolean pSuccess,
atg.repository.search.indexing.LoaderResults pResults)
Called to clean up change generation and perform any other
post-indexing operations.
|
atg.repository.search.indexing.LoaderResults |
processQueuedIncrementalUpdates()
Process any queued incremental updates.
|
atg.repository.search.indexing.LoaderResults |
processQueuedIncrementalUpdates(atg.search.index.IndexInfo pIndexInfo)
Process any queued incremental updates
|
atg.repository.search.indexing.LoaderResults |
processQueuedIncrementalUpdates(java.lang.String pSubmitterId,
java.lang.String pSessionId,
java.lang.String pCallbackUrl,
atg.search.index.IndexInfo pIndexInfo)
process queued incremental updates
|
boolean |
resolveComponents(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier,
atg.repository.search.indexing.specifier.OutputItemSpecifier pParentSpecifier,
java.lang.String pParentPath)
Resolve Nucleus components on pSpecifier (and children).
|
void |
setAutoCreateInitialQueues(boolean pAutoCreate)
Automatically create initial incremental item queue
configurations on startup.
|
void |
setBulkLoader(BulkLoader pBulkLoader)
Set the bulk loader used to bulk (full) index.
|
void |
setBulkLoadWithRetryMinutes(int pBulkLoadWithRetryMinutes)
Set the number of minutes to keep trying bulkLoadWithRetry.
|
void |
setBulkSchedule(Schedule pBulkSchedule)
Set property
bulkSchedule . |
void |
setBulkScheduleConsiderIndexedMinutes(int pBulkScheduleConsiderIndexedMinutes)
Set the number of minutes to consider content already indexed for
a bulk load.
|
void |
setBulkScheduler(Scheduler pBulkScheduler)
Set property
bulkScheduler . |
void |
setConfigRepositoryItemChangedProcessor(atg.repository.search.indexing.ConfigRepositoryItemChangedProcessor pProcessor)
If provided, this optional component will be called for received
repository change event.
|
void |
setDefaultFormatter(PropertyFormatter pDefaultFormatter)
Set the default formatter used to format property values.
|
void |
setDefaultPropertyAccessor(PropertyAccessor pDefaultPropertyAccessor)
Get the default property accessor.
|
void |
setDefaultPropertyAccessorPath(java.lang.String pDefaultPropertyAccessorPath)
Get nucleus path of the default property accessor.
|
void |
setDefinitionFile(atg.xml.XMLFile pDefinitionFile)
Sets the property definitionFile.
|
void |
setDisableSiteContextFiltering(boolean pDisableSiteContextFiltering)
Sets property disableSiteContextFiltering.
|
void |
setDocumentIdGenerator(atg.repository.search.indexing.DocumentIdGenerator pDocumentIdGenerator)
Sets document id generator.
|
void |
setDocumentLevelOutputProperties(java.lang.String[] pDocumentLevelOutputProperties)
Set the list of output properties that will be added
to the document-level item.
|
void |
setDocumentSubmitter(DocumentSubmitter pDocumentSubmitter)
Set the document submitter, used to submit documents to
the indexing engine.
|
void |
setEnableIncrementalLoading(boolean pEnableIncrementalLoading)
Whether to enabled incremental loading.
|
void |
setEnableScheduledBulkLoading(boolean pEnableScheduledBulkLoading)
Whether scheduled bulk loading is enabled.
|
void |
setEveryItemOutputProperties(java.lang.String[] pEveryItemOutputProperties)
Set the list of output properties that will be added
to every repository item.
|
void |
setFilterMap(ServiceMap pFilterMap)
Set the filter map.
|
void |
setFilterOutDollarOutputPropertyNames(boolean pFilterOutDollarOutputPropertyNames)
Whether to filter out properties containing "$" from
the various "outputPropertyName" properties.
|
void |
setForceDeleteGenerations(boolean pForceDeleteGenerations)
Set to true to remove all processed generations from the indexing queue on a bulk load
|
void |
setForceIncrementalIndexingFromGeneration(int pForceIncrementalIndexingFromGeneration)
Set to a positive value to force incremental indexing start from a particular generation, -1 means disabled.
|
void |
setFormatterMap(ServiceMap pFormatterMap)
Set the formatter map.
|
void |
setIncrementalLoader(IncrementalLoader pIncrementalLoader)
Whether to enable to incremental loader at startup.
|
void |
setIncrementalUpdateSeconds(int pIncrementalUpdateSeconds)
The number of seconds between incremental updates.
|
void |
setIndexingSynchronizations(atg.repository.search.indexing.IndexingSynchronization[] pIndexingSynchronizations)
Set the array of indexing synchronizations.
|
void |
setIterationProducer(atg.repository.search.indexing.IterationProducer pIterationProducer)
Set the iteration producer.
|
void |
setJobDescription(java.lang.String pJobDescription)
Set property
jobDescription |
void |
setJobName(java.lang.String pJobName)
Set property
jobName |
void |
setManualIndexRequests(atg.repository.search.indexing.ManualIndexRequest[] pManualIndexRequests)
Enumerate the types of queries we can use to manually re-index items.
|
void |
setMaxFailuresAllowedForCommitting(int pMaxFailuresAllowedForCommitting)
The maximum number of failures allowed when committing a document submitter
session.
|
void |
setMaxIncrementalChanges(int pMaxIncrementalChanges)
The maximum number of incremental changes to accept for a given
incremental update before reverting to a bulk load.
|
void |
setMaxIncrementalChangesPerGeneration(int pMaxIncrementalChangesPerGeneration)
The maximum number of repository item changes to queue
up in a single generation.
|
void |
setMaxIndexedItems(int pMax)
The maximum number of documents to index.
|
void |
setMaxNumberProcessItemThreads(int pMaxNumberProcessItemThreads)
Set the maximum number of process item threads.
|
void |
setMonitorDerivedPropertiesModifier(atg.repository.search.indexing.modifier.SpecifierModifier pMonitorDerivedPropertiesModifier)
Sets property monitorDerivedPropertiesModifier.
|
void |
setMonitorShadowRepositories(boolean pMonitor,
java.util.Map<Repository,Repository> pRepositoryMap)
Enable or disable monitoring of shadow repositories.
|
void |
setOnPubServer(boolean pOnPubServer)
set OnPubServer
|
void |
setProcessingPropertiesCallbacks(atg.repository.search.indexing.ProcessingPropertiesCallback[] pProcessingPropertiesCallbacks)
Sets property processingPropertiesCallbacks.
|
void |
setPropertyAccessorMap(ServiceMap pPropertyAccessorMap)
Set propertyAccessorMap...
|
void |
setRepository(Repository pRepository)
Optional override of definition file repository
specification.
|
void |
setRepositoryItemGroup(RepositoryItemGroup pRepositoryItemGroup)
Optional override for definition file repository-item-group
component setting.
|
void |
setResourceBundleName(java.lang.String pResourceBundleName)
Set a name of resource bundle which is used to get localized names of non-repository properties.
|
void |
setRmiServer(atg.server.rmi.RmiServer pRmiServer)
set RmiServer
|
void |
setSchedule(Schedule pSchedule)
Set property
schedule |
void |
setScheduler(Scheduler pScheduler)
Set property
scheduler . |
void |
setSiteIndexInfoService(atg.search.multisite.SiteIndexInfoService pSiteIndexInfoService)
The SiteIndexInfoService used to populate the SiteIndexInfo
property of the IndexInfo object with relevant multisite
information.
|
void |
setSynchronizedRepositories(java.util.Map pVal)
Used by functionality that synchronizes CA deployments with
indexing to identify customization-only type repositories
associated with IOC's repository.
|
void |
setTargetName(java.lang.String pTargetName)
set TargetName
|
void |
setThreadedItemQueueBatchSize(int pSize)
The number of repository items to fetch in one batch when using
the ThreadedItemQueue feature of the bulk loader.
|
void |
setThreadMethod(int pThreadMethod)
Set property
threadMethod |
void |
setTransactional(boolean pTransactional)
Sets property Transactional
|
void |
setUnversionedRepositoryPath(java.lang.String pUnversionedRepositoryPath)
set UnversionedRepositoryPath
|
protected void |
setupContextForNewDocument(Context pContext,
RepositoryItem pItem,
java.util.Map pMapParams,
LoaderImpl pLoader)
Set up our context for a new document representing pItem.
|
void |
setUseConfigurationClaims(boolean pUseConfigurationClaims)
Whether to use configuration claims for this component.
|
void |
setUseThreadedIndexRequestQueue(boolean pUse)
Currently only available in live indexing - should be true for live indexing and false otherwise.
|
void |
setVariantProducers(VariantProducer[] pVariantProducers)
Set the array of variant producers.
|
void |
setVersionedRepositoryPath(java.lang.String pVersionedRepositoryPath)
set VersionedRepositoryPath
|
boolean |
shouldCommitSession(Context pContext,
boolean pAtEnd)
Whether the current session should be committed or continued.
|
boolean |
shouldIncludeItem(Context pContext,
atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier,
RepositoryItem pItem)
Whether the specific repository item should be included in the index.
|
boolean |
shouldOutputDocument(Context pContext)
Return true to output document, false to discard it.
|
protected void |
startScheduledJob()
Just block the startScheduledJob if the bulk scheduler
isn't set.
|
boolean |
stopPeriodicActivityUpdateThread()
If the periodic activity update thread is running, terminate it.
|
protected void |
stopScheduledJob()
If we have a job running, stop it.
|
protected void |
superStartScheduledJob()
If we have a scheduler and a schedule and we are not already running
start our scheduled job.
|
protected java.lang.String |
unwrapVersionRepository(java.lang.String pPath)
Return a VersionRepository component path.
|
protected void |
validateConfiguration() |
void |
warnIfMisconfiguredForSearchAdmin()
Called by the SearchAdmin when indexing is initiated
|
void |
warnIfMisconfiguredForSearchAdmin(boolean pStartUp)
Warn if this configuration is misconfigured for SearchAdmin.
|
addLogListener, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRef, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public static final long serialVersionUID
public static final java.lang.String DEFAULT_SITE_INDEX_INFO_SERVICE
public static java.lang.String DEFAULT_DERIVED_PROPERTIES_MODIFIER
public static java.lang.String[] REQUIRED_DOCUMENT_OUTPUT_PROPERTIES
public static java.lang.String[] REQUIRED_EVERY_ITEM_OUTPUT_PROPERTIES
public static java.lang.ThreadLocal mDocumentSubmitterTL
protected int mJobId
public IndexingOutputConfig() throws java.rmi.RemoteException
java.rmi.RemoteException
public void setIndexingSynchronizations(atg.repository.search.indexing.IndexingSynchronization[] pIndexingSynchronizations)
public atg.repository.search.indexing.IndexingSynchronization[] getIndexingSynchronizations()
public void setThreadedItemQueueBatchSize(int pSize)
pSize
- the batch size or non-positive value to disablepublic int getThreadedItemQueueBatchSize()
public boolean isUseThreadedItemQueue()
public void setUseThreadedIndexRequestQueue(boolean pUse)
public boolean isUseThreadedIndexRequestQueue()
public boolean isForceDeleteGenerations()
public void setForceDeleteGenerations(boolean pForceDeleteGenerations)
public int getForceIncrementalIndexingFromGeneration()
public void setForceIncrementalIndexingFromGeneration(int pForceIncrementalIndexingFromGeneration)
public void setConfigRepositoryItemChangedProcessor(atg.repository.search.indexing.ConfigRepositoryItemChangedProcessor pProcessor)
pProcessor
- the processor component or nullpublic atg.repository.search.indexing.ConfigRepositoryItemChangedProcessor getConfigRepositoryItemChangedProcessor()
public void setManualIndexRequests(atg.repository.search.indexing.ManualIndexRequest[] pManualIndexRequests)
atg.search.routing.ManualIndexRequest
public atg.repository.search.indexing.ManualIndexRequest[] getManualIndexRequests()
ManualIndexRequest
public void setSynchronizedRepositories(java.util.Map pVal)
pVal
- A map of absolute repository paths to item descriptor
name lists (or an asterisk)public java.util.Map getSynchronizedRepositories()
public void setDefinitionFile(atg.xml.XMLFile pDefinitionFile)
pDefinitionFile
- new value to setpublic atg.xml.XMLFile getDefinitionFile()
public Repository getRepository()
getRepositoryItemGroup()
public void setRepository(Repository pRepository)
public void setRepositoryItemGroup(RepositoryItemGroup pRepositoryItemGroup)
public RepositoryItemGroup getRepositoryItemGroup()
#getRepositoryPathOverride
public void setDefaultPropertyAccessorPath(java.lang.String pDefaultPropertyAccessorPath)
public java.lang.String getDefaultPropertyAccessorPath()
public void setDefaultPropertyAccessor(PropertyAccessor pDefaultPropertyAccessor)
public PropertyAccessor getDefaultPropertyAccessor()
public void setPropertyAccessorMap(ServiceMap pPropertyAccessorMap)
public ServiceMap getPropertyAccessorMap()
public atg.repository.search.indexing.specifier.OutputItemSpecifier getOutputItemSpecifier()
definitionFile
.public void setBulkLoader(BulkLoader pBulkLoader)
public BulkLoader getBulkLoader()
public void setIncrementalLoader(IncrementalLoader pIncrementalLoader)
public IncrementalLoader getIncrementalLoader()
public atg.repository.search.indexing.DocumentIdGenerator getDocumentIdGenerator()
null
if document URL should be used as
document id.public void setDocumentIdGenerator(atg.repository.search.indexing.DocumentIdGenerator pDocumentIdGenerator)
pDocumentIdGenerator
- document id generator.public void setEnableIncrementalLoading(boolean pEnableIncrementalLoading)
incrementalLoader
should be set.public boolean isEnableIncrementalLoading()
incrementalLoader
should be set.public void setAutoCreateInitialQueues(boolean pAutoCreate)
When
- true, create default queue on startuppublic boolean isAutoCreateInitialQueues()
public void setUseConfigurationClaims(boolean pUseConfigurationClaims)
pUseConfigurationClaims
- true if configuration claims are
enabled for this component.public boolean isUseConfigurationClaims()
public void setSiteIndexInfoService(atg.search.multisite.SiteIndexInfoService pSiteIndexInfoService)
pSiteIndexInfoService
- the servicepublic atg.search.multisite.SiteIndexInfoService getSiteIndexInfoService()
public void setDocumentSubmitter(DocumentSubmitter pDocumentSubmitter)
public DocumentSubmitter getDocumentSubmitter()
public void setDocumentLevelOutputProperties(java.lang.String[] pDocumentLevelOutputProperties)
public java.lang.String[] getDocumentLevelOutputProperties()
public void setEveryItemOutputProperties(java.lang.String[] pEveryItemOutputProperties)
public java.lang.String[] getEveryItemOutputProperties()
public java.lang.String[] getRequiredEveryItemOutputProperties()
public void setIncrementalUpdateSeconds(int pIncrementalUpdateSeconds)
public int getIncrementalUpdateSeconds()
public void setBulkLoadWithRetryMinutes(int pBulkLoadWithRetryMinutes)
public int getBulkLoadWithRetryMinutes()
public java.lang.String getPrimaryRepositoryComponentPath()
public void setMaxIncrementalChangesPerGeneration(int pMaxIncrementalChangesPerGeneration)
public int getMaxIncrementalChangesPerGeneration()
public void setMaxIncrementalChanges(int pMaxIncrementalChanges)
pMaxIncrementalChanges
- The maximum number of incremental
changes, or -1 to disabled this featurepublic int getMaxIncrementalChanges()
public void setFormatterMap(ServiceMap pFormatterMap)
PropertyValueFormatter
instance. The name keys
here can be used in the "formatter" attribute of the "property"
in the definition file.public ServiceMap getFormatterMap()
PropertyValueFormatter
instance. The name keys
here can be used in the "formatter" attribute of the "property"
in the definition file.public void setFilterMap(ServiceMap pFilterMap)
PropertyValuesFilter
instance. The name keys
here can be used in the "filter" attribute of the "property"
in the definition file.public ServiceMap getFilterMap()
PropertyValuesFilter
instance. The name keys
here can be used in the "filter" attribute of the "property"
in the definition file.public void setDefaultFormatter(PropertyFormatter pDefaultFormatter)
public PropertyFormatter getDefaultFormatter()
public void setIterationProducer(atg.repository.search.indexing.IterationProducer pIterationProducer)
public atg.repository.search.indexing.IterationProducer getIterationProducer()
public void setVariantProducers(VariantProducer[] pVariantProducers)
public VariantProducer[] getVariantProducers()
public Repository getTopLevelItemRepository()
public java.lang.String[] getAllOutputPropertyNames()
public java.lang.String[] getTextOutputPropertyNames()
public java.lang.String[] getMetaOutputPropertyNames()
public java.util.Map<java.lang.Object,Repository> getShadowRepositoryMap()
public void setFilterOutDollarOutputPropertyNames(boolean pFilterOutDollarOutputPropertyNames)
public boolean isFilterOutDollarOutputPropertyNames()
public java.util.Set<Repository> getMonitoredRepositories()
public java.lang.String getTextActiveZones()
public void setTargetName(java.lang.String pTargetName)
pTargetName
- the TargetNamepublic java.lang.String getTargetName()
public void setUnversionedRepositoryPath(java.lang.String pUnversionedRepositoryPath)
pUnversionedRepositoryPath
- the UnversionedRepositoryPathpublic java.lang.String getUnversionedRepositoryPath()
public void setVersionedRepositoryPath(java.lang.String pVersionedRepositoryPath)
pVersionedRepositoryPath
- the VersionedRepositoryPathpublic java.lang.String getVersionedRepositoryPath()
public void setOnPubServer(boolean pOnPubServer)
pOnPubServer
- the OnPubServerpublic boolean isOnPubServer()
public void setRmiServer(atg.server.rmi.RmiServer pRmiServer)
pRmiServer
- the RmiServerpublic atg.server.rmi.RmiServer getRmiServer()
public void setMonitorShadowRepositories(boolean pMonitor, java.util.Map<Repository,Repository> pRepositoryMap)
pMonitor
- true to monitor, false to notpRepositoryMap
- a map associating shadow with shadowed
repositories. Only the association is important, the shadow may
be the key or value in the map. This parameter may be null when
pMonitor is false.public boolean isMonitorShadowRepositories()
public void createInitialIncrementalQueues(atg.search.index.IndexInfo pIndexInfo)
pIndexInfo
- The IndexInfo that contains queue information.public java.lang.String buildUriForRepositoryItem(Context pContext, Repository pRepository, atg.repository.search.indexing.ConfigRepositoryItemChanged pItemChanged) throws IndexingException
IndexingException
public java.lang.String getUriForRepositoryItem(Context pContext, RepositoryItem pItem) throws IndexingException
pItem
- the itemIndexingException
public boolean shouldOutputDocument(Context pContext)
pContext
- the contextpublic void indexedItem(Context pContext, RepositoryItem pItem)
pContext
- the contextpItem
- the repository itempublic void clearIterationState(Context pContext)
public atg.search.index.IndexInfo createTestIndexInfo() throws IndexingException
IndexingException
public java.util.List<java.lang.String> generateTestDocument(java.lang.String pId)
pId
- the document level repository item IDpublic atg.repository.search.indexing.DocumentSubmitterSession executeTestDocumentGeneration(java.lang.String pId, DocumentSubmitter pDocumentSubmitter, atg.search.index.IndexInfo pIndexInfo) throws RepositoryException, IndexingException
pId
- the document level repository item IDpDocumentSubmitter
- the document submitter to generatepIndexInfo
- the index info to use. If null, will create
one via createTestIndexInfo().RepositoryException
IndexingException
public boolean initializeIndexInfo(atg.search.index.IndexInfo pIndexInfo) throws IndexingException
pIndexInfo
- the object to initializedIndexingException
public atg.repository.search.indexing.BulkLoaderResults bulkLoadForDiagnostics() throws IndexingException
IndexingException
public atg.repository.search.indexing.BulkLoaderResults bulkLoad() throws IndexingException
IndexingException
public atg.repository.search.indexing.BulkLoaderResults bulkLoad(atg.search.index.IndexInfo pIndexInfo) throws IndexingException
pIndexInfo
- IndexingException
public atg.repository.search.indexing.BulkLoaderResults bulkLoad(atg.repository.search.indexing.DocumentSubmitterSession pSession, atg.search.index.IndexInfo pIndexInfo) throws IndexingException
IndexingException
public void postIndexingCleanup(boolean pSuccess, atg.repository.search.indexing.LoaderResults pResults) throws IndexingException
postIndexingCleanup
in interface atg.repository.search.indexing.RemoteIndexingOutputConfig
pSuccess
- True if the entire indexing process (including
index deployment) was successful.pResults
- The result object returned from either a bulk or
incremental indexing operation.IndexingException
public static void getAllOutputItemSpecifiers(java.util.List pResults, atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier)
pSpecifier
- a specifierpResults
- public java.util.Map<PropertyAccessor,java.util.Set<atg.repository.search.indexing.specifier.OutputProperty>> getPropertyAccessorToOutputPropertySet()
public java.util.Set<RepositoryItemDescriptor> getItemDescriptors()
public java.util.Set<Repository> getRepositories()
protected void calculateOutputPropertyNames()
public java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getAllOutputProperties()
protected java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getOutputProperties(java.lang.Boolean pIsMeta)
pIsMeta
- true for meta, false for text, null
for both.public java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getOutputProperties(atg.repository.search.indexing.specifier.OutputItemSpecifier pOIS, java.lang.Boolean pIsMeta)
pOIS
- the output item specifier to start form.pIsMeta
- true for meta, false for text, null
for both.protected java.lang.String[] calculateOutputPropertyNames(java.lang.Boolean pIsMeta)
pIsMeta
- true for meta, false for text, null
for both.public void incrementallyLoad()
protected atg.search.index.IndexInfo createDefaultIndexInfo()
public atg.repository.search.indexing.LoaderResults processQueuedIncrementalUpdates() throws IndexingException
IndexingException
public atg.repository.search.indexing.LoaderResults processQueuedIncrementalUpdates(atg.search.index.IndexInfo pIndexInfo) throws IndexingException
IndexingException
protected void notifyIndexingInitialization() throws IndexingException
IndexingException
protected void notifyIndexingTermination(atg.repository.search.indexing.LoaderResults pLoaderResults) throws IndexingException
IndexingException
protected java.lang.String[] addInStrings(java.lang.String[] pStrings, java.lang.String[] pRequiredStrings)
pRequiredStrings
to pStrings
protected boolean containsString(java.lang.String pString, java.lang.String[] pStrings)
pStrings
contains the specified string pString
.pString
was found in
the specified string array.protected void validateConfiguration()
protected java.lang.String[] addValidationMessage(java.lang.String pType, java.lang.String pMessage)
protected java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getHashOutputProps(atg.repository.search.indexing.specifier.OutputProperty[] pProps)
pProps
- a list of OutputProperty items for a given
OutputItemSpecifierprotected java.util.Map<atg.repository.search.indexing.specifier.OutputItemSpecifier,java.util.List<atg.repository.search.indexing.specifier.OutputProperty>> getIndexingHashOutputProperties()
protected java.util.List<java.lang.String[]> getValidationMessages()
public void doStartService() throws ServiceException
doStartService
in class GenericRMIService
ServiceException
- if the Service had a problem starting uppublic boolean resolveComponents(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier, atg.repository.search.indexing.specifier.OutputItemSpecifier pParentSpecifier, java.lang.String pParentPath)
protected void modifyOutputItemSpecifier(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier) throws ServiceException
ServiceException
protected atg.repository.search.indexing.specifier.OutputItemSpecifier createOutputItemSpecifier()
protected void addIfNotPresent(java.util.Map pMap, java.lang.String pKey, java.lang.Object pValue)
public boolean isVersionRepository(java.lang.String pPath)
protected java.lang.String unwrapVersionRepository(java.lang.String pPath)
public boolean isNonVersionRepository(java.lang.String pPath)
public java.lang.String getVersionRepositoryPath(java.lang.String pPath, java.util.Map pMap)
pPath
- the repository pathpMap
- the map of version to non-version repositoriespublic java.lang.String getNonVersionRepositoryPath(java.lang.String pPath, java.util.Map pMap)
pPath
- the repository pathpMap
- the map of version to non-version repositoriesprotected void correctRepositoryPath(atg.repository.search.config.Item pType)
protected java.lang.String[] getUnversionedVersionedRepositoryPaths(java.lang.String pRepositoryPath)
pRepositoryPath
- the repository path to get the unversioned
and versioned paths of.protected void exportAsRemoteService()
protected void addBasicPropertyAccessors()
propertyAccessorMap
. Adds the firstWithLocale and
null property accessor.protected void addBasicFormatters()
formatterMap
.
For now, just adds the defaultFormatter
.protected void addBasicFilters()
filterMap
.
For now, just adds the
UniqueFilter
and
ConcatFilter
filters as "unique" and "concat" respectively.protected atg.repository.search.config.Item jaxbParseFile() throws java.io.IOException, atg.xml.XMLFileException, javax.xml.bind.JAXBException
java.io.IOException
atg.xml.XMLFileException
javax.xml.bind.JAXBException
protected boolean haveNestedDocumentLevelSpecifiers(atg.repository.search.indexing.specifier.OutputItemSpecifier pOis, boolean pFoundDocLevel)
public boolean haveNestedDocumentLevelSpecifiers()
pOis
- The OutputItemSpecifierOutputItemSpecifier.isDocument()
public atg.repository.search.indexing.specifier.OutputItemSpecifier[] getDocumentLevelSpecifiers()
protected void addDocumentLevelSpecifiers(atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier, java.util.List pListFound)
pSpecifier
- the current specifierpListFound
- list of found specifierspublic void performScheduledTask(Scheduler pScheduler, ScheduledJob pJob)
performScheduledTask
in interface Schedulable
pScheduler
- the scheduler managing this jobpJob
- the scheduled job associated with this servicepublic void setScheduler(Scheduler pScheduler)
scheduler
. Use setBulkScheduler
instead of this method.pScheduler
- new value to setpublic Scheduler getBulkScheduler()
bulkscheduler
. This is the
scheduler used for bulk indexing.public void setBulkScheduler(Scheduler pBulkScheduler)
bulkScheduler
. This is the
scheduler used for bulk indexing.pBulkScheduler
- new value to setpublic Schedule getBulkSchedule()
bulkschedule
. This is the
schedule used for bulk indexing.public void setBulkSchedule(Schedule pBulkSchedule)
bulkSchedule
. This is the
schedule used for bulk indexing.pBulkSchedule
- new value to setpublic void setBulkScheduleConsiderIndexedMinutes(int pBulkScheduleConsiderIndexedMinutes)
public int getBulkScheduleConsiderIndexedMinutes()
public void setEnableScheduledBulkLoading(boolean pEnableScheduledBulkLoading)
public boolean isEnableScheduledBulkLoading()
public void setMaxFailuresAllowedForCommitting(int pMaxFailuresAllowedForCommitting)
public int getMaxFailuresAllowedForCommitting()
protected void startScheduledJob()
public atg.repository.search.indexing.BulkLoaderResults bulkLoadWithRetry() throws IndexingException
pDocSubSession
- the existing document submitter session.
if null, will create a new document submitter session.IndexingException
public atg.repository.search.indexing.BulkLoaderResults bulkLoadWithRetry(atg.repository.search.indexing.DocumentSubmitterSession pDocSubSession, atg.search.index.IndexInfo pIndexInfo) throws IndexingException
pDocSubSession
- the existing document submitter session.
if null, will create a new document submitter session.IndexingException
public boolean isPeriodicActivityUpdateThreadRunning()
public boolean stopPeriodicActivityUpdateThread()
public boolean shouldIncludeItem(Context pContext, atg.repository.search.indexing.specifier.OutputItemSpecifier pSpecifier, RepositoryItem pItem)
pContext
- the indexing context object.pRepositoryItem
- the repository item that corresponds to this item.pSpecifier
- the specifier for this item.public void afterSessionStart(Context pContext) throws IndexingException
afterSessionStart
in interface atg.repository.search.indexing.IndexingSynchronization
pContext
- the Context for the current indexing operation. The
DocumentSubmitterSession
is available as a property, as is
the IndexingOutputConfig
and other state information.IndexingException
public void beforeSessionEnd(Context pContext) throws IndexingException
beforeSessionEnd
in interface atg.repository.search.indexing.IndexingSynchronization
pContext
- the Context for the current indexing operation. The
DocumentSubmitterSession
is available as a property, as is
the IndexingOutputConfig
and other state information.IndexingException
public boolean allowPeriodicIndexing()
Returns false, if indexing jobs are started externally (as for search admin).
public boolean shouldCommitSession(Context pContext, boolean pAtEnd)
pContext
- the context for the indexing sessionpAtEnd
- whether we are just at end.public atg.repository.search.indexing.LoaderResults bulkLoad(java.lang.String pSubmitterId, java.lang.String pSessionId, java.lang.String pCallbackUrl, atg.search.index.IndexInfo pIndexInfo) throws java.rmi.RemoteException, IndexingException
bulkLoad
in interface atg.repository.search.indexing.RemoteIndexingOutputConfig
java.rmi.RemoteException
IndexingException
public atg.repository.search.indexing.LoaderResults processQueuedIncrementalUpdates(java.lang.String pSubmitterId, java.lang.String pSessionId, java.lang.String pCallbackUrl, atg.search.index.IndexInfo pIndexInfo) throws java.rmi.RemoteException, IndexingException
processQueuedIncrementalUpdates
in interface atg.repository.search.indexing.RemoteIndexingOutputConfig
java.rmi.RemoteException
IndexingException
public boolean cancelBulkLoad() throws java.rmi.RemoteException
cancelBulkLoad
in interface atg.repository.search.indexing.RemoteIndexingOutputConfig
java.rmi.RemoteException
public boolean cancelIncrementalUpdate() throws java.rmi.RemoteException
cancelIncrementalUpdate
in interface atg.repository.search.indexing.RemoteIndexingOutputConfig
java.rmi.RemoteException
public Scheduler getScheduler()
scheduler
scheduler
public void setSchedule(Schedule pSchedule)
schedule
pSchedule
- new value to setpublic Schedule getSchedule()
schedule
schedule
public void setJobName(java.lang.String pJobName)
jobName
pJobName
- new value to setpublic java.lang.String getJobName()
jobName
jobName
public void setJobDescription(java.lang.String pJobDescription)
jobDescription
pJobDescription
- new value to setpublic java.lang.String getJobDescription()
jobDescription
jobDescription
public void setThreadMethod(int pThreadMethod)
threadMethod
pThreadMethod
- new value to setpublic int getThreadMethod()
threadMethod
threadMethod
public void setTransactional(boolean pTransactional)
public boolean isTransactional()
public void setMaxIndexedItems(int pMax)
pMax
- the maximum number of documents to indexpublic int getMaxIndexedItems()
pMax
- the maximum number of documents to indexpublic void setMaxNumberProcessItemThreads(int pMaxNumberProcessItemThreads)
public int getMaxNumberProcessItemThreads()
public java.lang.String getResourceBundleName()
public void setResourceBundleName(java.lang.String pResourceBundleName)
pResourceBundleName
- a resource bundle namepublic void setProcessingPropertiesCallbacks(atg.repository.search.indexing.ProcessingPropertiesCallback[] pProcessingPropertiesCallbacks)
public atg.repository.search.indexing.ProcessingPropertiesCallback[] getProcessingPropertiesCallbacks()
public void setDisableSiteContextFiltering(boolean pDisableSiteContextFiltering)
public boolean isDisableSiteContextFiltering()
public void setMonitorDerivedPropertiesModifier(atg.repository.search.indexing.modifier.SpecifierModifier pMonitorDerivedPropertiesModifier)
public atg.repository.search.indexing.modifier.SpecifierModifier getMonitorDerivedPropertiesModifier()
public void doStopService() throws ServiceException
doStopService
in class GenericRMIService
ServiceException
- if an error occurred during the operationprotected void superStartScheduledJob()
protected void stopScheduledJob()
public void warnIfMisconfiguredForSearchAdmin()
public void warnIfMisconfiguredForSearchAdmin(boolean pStartUp)
pStartUp
- True if this is being called at startup time, if
so, adds warning message to validation messages displayed in
the component's Admin UI.public boolean executeSynchronizationsOnly() throws IndexingException
pIndexingOutputConfig
- the output config whose synchronizations
should be executed.IndexingException
protected javax.servlet.Servlet createAdminServlet()
GenericRMIService
createAdminServlet
in class GenericRMIService
public void performAction()
performAction
in interface atg.nucleus.PostStartupAction
protected void setupContextForNewDocument(Context pContext, RepositoryItem pItem, java.util.Map pMapParams, LoaderImpl pLoader)
pContext
- the context to be updatedpItem
- the document-level item used to update pContextpMapParams
- the map of distinguishing keys and values that
will be appended as query params to the document URL. Both
keys and values must be strings.pLoader
- The loader that needs the context setup.public java.lang.String determineLogicalPartitionName(Context pContext, RepositoryItem pItem) throws IndexingException
pContext
- The indexing contextpItem
- The item we are indexingIndexingException
public Query getBulkLoadQuery(RepositoryView pView, Query pOptionalQuery) throws IndexingException
getRepositoryItemGroup()
or
creates an unconstrained query if getRepositoryItemGroup is nullpView
- The repository viewpQuery
- optional query to select top level items - may be null.
If not null, the repository item group constraint is not applied.IndexingException
- if an error occurs