|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.rmi.server.RemoteObject java.rmi.server.RemoteServer java.rmi.server.UnicastRemoteObject atg.core.net.RegisteringUnicastRemoteObject atg.nucleus.logging.VariableArgumentApplicationLoggingRMIImpl atg.nucleus.GenericRMIService atg.repository.search.indexing.IndexingOutputConfig
public class IndexingOutputConfig
Specifies output options, the most important of which is the XML files that define which properties are emitted for indexing. This class is the central configuration class for specifyhing the output that will be sent to the indexer.
The output from this class can be farther customized by
the use of PropertyFormatter
s, PropertyAccessor
s and
VariantProducer
s.
Created: February 16 2005
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string |
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. |
Fields inherited from class atg.nucleus.GenericRMIService |
---|
SERVICE_INFO_KEY |
Fields inherited from class java.rmi.server.RemoteObject |
---|
ref |
Fields inherited from interface atg.repository.search.indexing.IndexingConstants |
---|
BASE_URL_OUTPUT_PROPERTY_NAME, CONTEXT_OUTPUT_PROPERTY_NAME, DEFAULT_FORMATTER_KEY, 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 |
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging |
---|
DEFAULT_LOG_TRACE_STATUS |
Fields inherited from interface atg.nucleus.logging.ApplicationLogging |
---|
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS |
Constructor Summary | |
---|---|
IndexingOutputConfig()
constructor |
Method Summary | |
---|---|
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 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 mechanisim 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.ItemType 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. |
atg.search.index.IndexInfo |
createTestIndexInfo()
Creates and initializes an IndexInfo instances for test document generation. |
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. |
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.lang.String[] |
getAllOutputPropertyNames()
Get both the text and meta output property names. |
BulkLoader |
getBulkLoader()
Get the bulk loader used to bulk (full) index. |
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. |
atg.repository.search.indexing.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. |
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 mis-configured 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 fn 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 |
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 |
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. |
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-versinon 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 |
getOutputProperties(java.lang.Boolean pIsMeta)
Get the specified output properties from all the elements of the hierarchy. |
java.lang.String |
getPrimaryRepositoryComponentPath()
|
ServiceMap |
getPropertyAccessorMap()
Get propertyAccessorMap... |
java.util.Map<atg.repository.search.indexing.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. |
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. |
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 identifiy 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 |
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 |
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 |
atg.repository.search.indexing.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. |
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()
Automatcially create initial incremental item queue configurations on startup. |
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 |
isVersionRepository(java.lang.String pPath)
Return true if component path resolves to a version repository. |
protected atg.repository.search.config.ItemType |
jaxbParseFile()
Parse the definition and return the jaxb generated item type. |
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 |
void |
setAutoCreateInitialQueues(boolean pAutoCreate)
Automatcially 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(atg.repository.search.indexing.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 |
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 |
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 |
setMonitorShadowRepositories(boolean pMonitor,
java.util.Map<Repository,Repository> pRepositoryMap)
Enable or disable monitoring of shadow repositories. |
void |
setOnPubServer(boolean pOnPubServer)
set OnPubServer |
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 |
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 identifiy customization-only type repositories associated with IOC's repository. |
void |
setTargetName(java.lang.String pTargetName)
set TargetName |
void |
setThreadMethod(int pThreadMethod)
Set property threadMethod |
void |
setTransactional(boolean pTransactional)
Sets property Transactional |
void |
setUnversionedRepositoryPath(java.lang.String pUnversionedRepositoryPath)
set UnversionedRepositoryPath |
void |
setUseConfigurationClaims(boolean pUseConfigurationClaims)
Whether to use configuration claims for this component. |
void |
setVariantProducers(atg.repository.search.indexing.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 void |
validateConfiguration()
|
void |
warnIfMisconfiguredForSearchAdmin()
Warn if this configuration is misconfigured for SearchAdmin. |
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingRMIImpl |
---|
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning |
Methods inherited from class atg.core.net.RegisteringUnicastRemoteObject |
---|
unexportAll |
Methods inherited from class java.rmi.server.UnicastRemoteObject |
---|
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
---|
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
---|
equals, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static java.lang.String CLASS_VERSION
public static final java.lang.String DEFAULT_SITE_INDEX_INFO_SERVICE
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
Constructor Detail |
---|
public IndexingOutputConfig() throws java.rmi.RemoteException
java.rmi.RemoteException
Method Detail |
---|
public void setIndexingSynchronizations(atg.repository.search.indexing.IndexingSynchronization[] pIndexingSynchronizations)
public atg.repository.search.indexing.IndexingSynchronization[] getIndexingSynchronizations()
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 setSynchronizedRepositories(java.util.Map pVal)
pVal
- A map of absolute repository paths to item descriptor
name lists (or an asterix)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)
setRepositoryItemGroup(atg.repository.RepositoryItemGroup)
public void setRepositoryItemGroup(RepositoryItemGroup pRepositoryItemGroup)
setRepository(atg.repository.Repository)
public RepositoryItemGroup getRepositoryItemGroup()
#getRepositoryPathOverride
public void setDefaultPropertyAccessorPath(java.lang.String pDefaultPropertyAccessorPath)
public java.lang.String getDefaultPropertyAccessorPath()
public void setDefaultPropertyAccessor(atg.repository.search.indexing.PropertyAccessor pDefaultPropertyAccessor)
public atg.repository.search.indexing.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 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(atg.repository.search.indexing.VariantProducer[] pVariantProducers)
public atg.repository.search.indexing.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 item
IndexingException
public boolean shouldOutputDocument(Context pContext)
pContext
- the context
public 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 boolean initializeIndexInfo(atg.search.index.IndexInfo pIndexInfo) throws IndexingException
pIndexInfo
- the object to initialized
IndexingException
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<atg.repository.search.indexing.PropertyAccessor,java.util.Set<atg.repository.search.indexing.specifier.OutputProperty>> getPropertyAccessorToOutputPropertySet()
public java.util.Set getItemDescriptors()
protected void calculateOutputPropertyNames()
protected java.util.List getOutputProperties(java.lang.Boolean pIsMeta)
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 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
OutputItemSpecifier
protected 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 isVersionRepository(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 repositories
public java.lang.String getNonVersionRepositoryPath(java.lang.String pPath, java.util.Map pMap)
pPath
- the repository pathpMap
- the map of version to non-version repositories
protected void correctRepositoryPath(atg.repository.search.config.ItemType pType)
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.ItemType jaxbParseFile() throws java.io.IOException, atg.xml.XMLFileException, javax.xml.bind.JAXBException
java.io.IOException
atg.xml.XMLFileException
javax.xml.bind.JAXBException
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 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 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
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |