|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.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
atg.endeca.index.EndecaIndexingOutputConfig
public class EndecaIndexingOutputConfig
A subclass of IndexingOutputConfig that adds Endeca-specific behaviors. Currently does property ouputName mangling to make it easy to generate property names in an endeca friendly format.
In addition, "merges" duplicate equivalent meta/text properties by suppressing the text property, since Endeca properties only have on namespace (as opposed to ATG search properties, which have a separate meta and text namespace).
Created: November 09 2011
PropertyNameMunger
,
OutputPropertyMerger
,
Serialized FormNested Class Summary | |
---|---|
class |
EndecaIndexingOutputConfig.ContextStatusReporter
Return a status reporter that wraps a Context. |
static interface |
EndecaIndexingOutputConfig.LoaderResultsWrapper
A interface wrapper around loader results. |
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string from source code control system. |
static java.lang.String |
CONTEXT_STATUS_REPORTER
|
protected java.util.Set<atg.repository.search.indexing.specifier.OutputProperty> |
mSetOutputProperties
The set of known output properties. |
Fields inherited from class atg.repository.search.indexing.IndexingOutputConfig |
---|
DEFAULT_SITE_INDEX_INFO_SERVICE, mDocumentSubmitterTL, mJobId, REQUIRED_DOCUMENT_OUTPUT_PROPERTIES, REQUIRED_EVERY_ITEM_OUTPUT_PROPERTIES, serialVersionUID |
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, 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 |
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 | |
---|---|
EndecaIndexingOutputConfig()
Createa new instance, setting the default formatter to an instance of EndecaPropertyFormatter |
Method Summary | |
---|---|
protected void |
addDefaultOutputNameReplacements()
Add the default output name replacements. |
protected java.lang.String[] |
addInStrings(java.lang.String[] pStrings,
java.lang.String[] pRequiredStrings)
In this case, we are overriding the add in strings to parse out disallowed flags, and make it smarter about not stomping all over explicit settings. |
void |
afterSessionStart(atg.repository.search.indexing.Context pContext)
|
void |
calculateOutputPropertyNames()
|
boolean |
cancel(IndexingTask pTask,
boolean pBaseline)
Cancel the currently in-process performBulkLoad or processQueuedIncrementalUpdates. |
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. |
protected void |
createEmptyTransformationRecords(boolean pMeta)
Create empty transformation records for all known properties. |
protected atg.repository.search.indexing.specifier.OutputItemSpecifier |
createOutputItemSpecifier()
Returns EndecaOutputItemSpecifier that is aware of endeca-specific properties. |
atg.search.index.IndexInfo |
createTestIndexInfo()
|
void |
doStartService()
This is called after a Service has been created, placed into the naming hierarchy, and initialized with its configured property values. |
java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getAllOutputProperties()
Return all known output properties. |
java.lang.String[] |
getDisallowedRequiredFlags()
Returns property disallowedRequiredFlags. |
java.lang.String[] |
getDocumentLevelOutputProperties()
Get the list of output properties that will be added to every repository item. |
java.lang.String |
getIdOutputPropertyName()
Returns property idOutputPropertyName. |
java.util.Set<java.lang.String> |
getIndexingOutputConfigPaths()
Return the set of IndexingOutputConfigs associated with this Indexable. |
java.util.List<atg.repository.search.indexing.specifier.OutputProperty> |
getOutputPropertiesAccessible(boolean pMeta)
A publically accessible form of getOutputProperties. |
java.util.Map<atg.repository.search.indexing.specifier.OutputProperty,PropertyTransformationRecord> |
getOutputPropertyToTransformations()
Return the outputPropertyToTransformations property. |
java.util.LinkedHashMap<java.lang.String,java.lang.String> |
getPrefixReplacementMap()
Returns property prefixReplacementMap. |
ProcessingPropertiesCallback[] |
getProcessingPropertiesCallbacks()
Returns property processingPropertiesCallbacks. |
java.lang.String[] |
getReplaceWithTypePrefixes()
Returns property replaceWithTypePrefixes. |
java.util.Set<atg.repository.search.indexing.specifier.OutputProperty> |
getSetOutputProperties()
Return the setOutputProperties property. |
java.lang.String[] |
getSiteIDsToIndex()
Returns property siteIDsToIndex. |
RepositoryItem[] |
getSitesToIndex()
Returns property getCatalogsForSitesToIndex. |
java.util.LinkedHashMap<java.lang.String,java.lang.String> |
getSuffixReplacementMap()
Returns property suffixReplacementMap. |
PropertyTransformationRecord |
getTransformationRecord(atg.repository.search.indexing.specifier.OutputProperty pProperty)
Get the transformation record for the specified output property, created it if needed. |
boolean |
isAddDefaultOutputNameReplacements()
Returns property addDefaultOutputNameReplacements. |
boolean |
isLoggingDebugPropertyMerging()
Returns property loggingDebugPropertyMerging. |
boolean |
isNeededForIncremental()
Whether this Indexable is needed for an incremental update. |
protected boolean |
isRequiredFlagDisallowed(java.lang.String pFlag)
Whether the flag form the requiredProperties or everyDocument is disallowed. |
boolean |
isSupportsStatusCounts()
Whether this object supports returning/updating status counts. |
boolean |
isUseAtgSearchXmlFormat()
Returns property useAtgSearchXmlFormat. |
boolean |
mayNeedCleanup()
Whether this task may need cleanup. |
protected void |
mergeDuplicateProperties()
Look for duplicate properties and suppress redundant duplicates. |
protected void |
mungeAllOutputPropertyNames()
Munge all output property names into an Endeca-friendly format. |
atg.repository.search.indexing.BulkLoaderResults |
performBaselineUpdate(IndexingTask pTask)
Do a full/bulk load. |
atg.repository.search.indexing.LoaderResults |
performPartialUpdate(IndexingTask pTask)
Do an incremental load (that is, process any Queued incremental updates. |
void |
postIndexingCleanup(IndexingTask pTask,
boolean pSuccess,
atg.repository.search.indexing.LoaderResults pResults)
Perform any post indexing cleanup. |
atg.repository.search.indexing.LoaderResults |
processQueuedIncrementalUpdates(atg.search.index.IndexInfo pIndexInfo,
atg.repository.search.indexing.DocumentSubmitterSession pSession)
Process any queued incremental updates |
void |
setAddDefaultOutputNameReplacements(boolean pAddDefaultOutputNameReplacements)
Sets property addDefaultOutputNameReplacements. |
void |
setDisallowedRequiredFlags(java.lang.String[] pDisallowedRequiredFlags)
Sets property disallowedRequiredFlags. |
void |
setIdOutputPropertyName(java.lang.String pIdOutputPropertyName)
Sets property idOutputPropertyName. |
void |
setLoggingDebugPropertyMerging(boolean pLoggingDebugPropertyMerging)
Sets property loggingDebugPropertyMerging. |
void |
setPrefixReplacementMap(java.util.LinkedHashMap<java.lang.String,java.lang.String> pPrefixReplacementMap)
Sets property prefixReplacementMap. |
void |
setProcessingPropertiesCallbacks(ProcessingPropertiesCallback[] pProcessingPropertiesCallbacks)
Sets property processingPropertiesCallbacks. |
void |
setReplaceWithTypePrefixes(java.lang.String[] pReplaceWithTypePrefixes)
Sets property replaceWithTypePrefixes. |
void |
setSiteIDsToIndex(java.lang.String[] pSiteIDsToIndex)
Sets property siteIDsToIndex. |
void |
setSuffixReplacementMap(java.util.LinkedHashMap<java.lang.String,java.lang.String> pSuffixReplacementMap)
Sets property suffixReplacementMap. |
void |
setUseAtgSearchXmlFormat(boolean pUseAtgSearchXmlFormat)
Sets property useAtgSearchXmlFormat. |
protected java.lang.String[] |
stringArrayReplaceString(java.lang.String[] pArray,
java.lang.String pMatch,
java.lang.String pReplace)
A simple utility to replace a string in a string array. |
protected boolean |
stringListContainsName(java.lang.String[] pList,
java.lang.String pName)
|
Methods inherited from class atg.repository.search.indexing.IndexingOutputConfig |
---|
addBasicFilters, addBasicFormatters, addBasicPropertyAccessors, addDocumentLevelSpecifiers, addIfNotPresent, addValidationMessage, allowPeriodicIndexing, beforeSessionEnd, buildUriForRepositoryItem, bulkLoad, bulkLoad, bulkLoad, bulkLoad, bulkLoadForDiagnostics, bulkLoadWithRetry, bulkLoadWithRetry, calculateOutputPropertyNames, cancelBulkLoad, cancelIncrementalUpdate, clearIterationState, containsString, correctRepositoryPath, createInitialIncrementalQueues, determineLogicalPartitionName, doStopService, executeSynchronizationsOnly, exportAsRemoteService, generateTestDocument, getAllOutputItemSpecifiers, getAllOutputPropertyNames, getBulkLoader, getBulkLoadQuery, getBulkLoadWithRetryMinutes, getBulkSchedule, getBulkScheduleConsiderIndexedMinutes, getBulkScheduler, getConfigRepositoryItemChangedProcessor, getDefaultFormatter, getDefaultPropertyAccessor, getDefaultPropertyAccessorPath, getDefinitionFile, getDocumentIdGenerator, getDocumentLevelSpecifiers, getDocumentSubmitter, getEveryItemOutputProperties, getFilterMap, getForceIncrementalIndexingFromGeneration, getFormatterMap, getHashOutputProps, getIncrementalLoader, getIncrementalUpdateSeconds, getIndexingHashOutputProperties, getIndexingSynchronizations, getItemDescriptors, getIterationProducer, getJobDescription, getJobName, getManualIndexRequests, getMaxFailuresAllowedForCommitting, getMaxIncrementalChanges, getMaxIncrementalChangesPerGeneration, getMaxIndexedItems, getMaxNumberProcessItemThreads, getMetaOutputPropertyNames, getMonitoredRepositories, getNonVersionRepositoryPath, getOutputItemSpecifier, getOutputProperties, getPrimaryRepositoryComponentPath, getPropertyAccessorMap, getPropertyAccessorToOutputPropertySet, getRepository, getRepositoryItemGroup, getRequiredEveryItemOutputProperties, getResourceBundleName, getRmiServer, getSchedule, getScheduler, getShadowRepositoryMap, getSiteIndexInfoService, getSynchronizedRepositories, getTargetName, getTextActiveZones, getTextOutputPropertyNames, getThreadedItemQueueBatchSize, getThreadMethod, getTopLevelItemRepository, getUnversionedRepositoryPath, getUriForRepositoryItem, getValidationMessages, getVariantProducers, getVersionedRepositoryPath, getVersionRepositoryPath, haveNestedDocumentLevelSpecifiers, haveNestedDocumentLevelSpecifiers, incrementallyLoad, indexedItem, initializeIndexInfo, isAutoCreateInitialQueues, isEnableIncrementalLoading, isEnableScheduledBulkLoading, isFilterOutDollarOutputPropertyNames, isForceDeleteGenerations, isMonitorShadowRepositories, isNonVersionRepository, isOnPubServer, isPeriodicActivityUpdateThreadRunning, isTransactional, isUseConfigurationClaims, isUseThreadedIndexRequestQueue, isUseThreadedItemQueue, isVersionRepository, jaxbParseFile, notifyIndexingInitialization, notifyIndexingTermination, performAction, performScheduledTask, postIndexingCleanup, processQueuedIncrementalUpdates, processQueuedIncrementalUpdates, processQueuedIncrementalUpdates, setAutoCreateInitialQueues, setBulkLoader, setBulkLoadWithRetryMinutes, setBulkSchedule, setBulkScheduleConsiderIndexedMinutes, setBulkScheduler, setConfigRepositoryItemChangedProcessor, setDefaultFormatter, setDefaultPropertyAccessor, setDefaultPropertyAccessorPath, setDefinitionFile, setDocumentIdGenerator, setDocumentLevelOutputProperties, setDocumentSubmitter, setEnableIncrementalLoading, setEnableScheduledBulkLoading, setEveryItemOutputProperties, setFilterMap, setFilterOutDollarOutputPropertyNames, setForceDeleteGenerations, setForceIncrementalIndexingFromGeneration, setFormatterMap, setIncrementalLoader, setIncrementalUpdateSeconds, setIndexingSynchronizations, setIterationProducer, setJobDescription, setJobName, setManualIndexRequests, setMaxFailuresAllowedForCommitting, setMaxIncrementalChanges, setMaxIncrementalChangesPerGeneration, setMaxIndexedItems, setMaxNumberProcessItemThreads, setMonitorShadowRepositories, setOnPubServer, setPropertyAccessorMap, setRepository, setRepositoryItemGroup, setResourceBundleName, setRmiServer, setSchedule, setScheduler, setSiteIndexInfoService, setSynchronizedRepositories, setTargetName, setThreadedItemQueueBatchSize, setThreadMethod, setTransactional, setUnversionedRepositoryPath, setupContextForNewDocument, setUseConfigurationClaims, setUseThreadedIndexRequestQueue, setVariantProducers, setVersionedRepositoryPath, shouldCommitSession, shouldIncludeItem, shouldOutputDocument, startScheduledJob, stopPeriodicActivityUpdateThread, stopScheduledJob, superStartScheduledJob, validateConfiguration, warnIfMisconfiguredForSearchAdmin, warnIfMisconfiguredForSearchAdmin |
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 final java.lang.String CLASS_VERSION
public static java.lang.String CONTEXT_STATUS_REPORTER
protected java.util.Set<atg.repository.search.indexing.specifier.OutputProperty> mSetOutputProperties
Constructor Detail |
---|
public EndecaIndexingOutputConfig() throws java.rmi.RemoteException
EndecaPropertyFormatter
java.rmi.RemoteException
Method Detail |
---|
public void setUseAtgSearchXmlFormat(boolean pUseAtgSearchXmlFormat)
RecordSubmitter
the textual
output is ignored, and a Records
*
instance is used instead.
public boolean isUseAtgSearchXmlFormat()
RecordSubmitter
the textual
output is ignored, and a Records
*
instance is used instead.
public void setAddDefaultOutputNameReplacements(boolean pAddDefaultOutputNameReplacements)
public boolean isAddDefaultOutputNameReplacements()
public void setReplaceWithTypePrefixes(java.lang.String[] pReplaceWithTypePrefixes)
public java.lang.String[] getReplaceWithTypePrefixes()
public void setPrefixReplacementMap(java.util.LinkedHashMap<java.lang.String,java.lang.String> pPrefixReplacementMap)
public java.util.LinkedHashMap<java.lang.String,java.lang.String> getPrefixReplacementMap()
public void setSuffixReplacementMap(java.util.LinkedHashMap<java.lang.String,java.lang.String> pSuffixReplacementMap)
public java.util.LinkedHashMap<java.lang.String,java.lang.String> getSuffixReplacementMap()
public java.util.Map<atg.repository.search.indexing.specifier.OutputProperty,PropertyTransformationRecord> getOutputPropertyToTransformations()
public void setDisallowedRequiredFlags(java.lang.String[] pDisallowedRequiredFlags)
public java.lang.String[] getDisallowedRequiredFlags()
public void setLoggingDebugPropertyMerging(boolean pLoggingDebugPropertyMerging)
public boolean isLoggingDebugPropertyMerging()
public void setIdOutputPropertyName(java.lang.String pIdOutputPropertyName)
public java.lang.String getIdOutputPropertyName()
public java.util.Set<atg.repository.search.indexing.specifier.OutputProperty> getSetOutputProperties()
public void setProcessingPropertiesCallbacks(ProcessingPropertiesCallback[] pProcessingPropertiesCallbacks)
public ProcessingPropertiesCallback[] getProcessingPropertiesCallbacks()
public void setSiteIDsToIndex(java.lang.String[] pSiteIDsToIndex)
public java.lang.String[] getSiteIDsToIndex()
public RepositoryItem[] getSitesToIndex() throws RepositoryException
RepositoryException
protected atg.repository.search.indexing.specifier.OutputItemSpecifier createOutputItemSpecifier()
createOutputItemSpecifier
in class atg.repository.search.indexing.IndexingOutputConfig
public void calculateOutputPropertyNames()
calculateOutputPropertyNames
in class atg.repository.search.indexing.IndexingOutputConfig
protected void createEmptyTransformationRecords(boolean pMeta)
protected void mungeAllOutputPropertyNames()
public PropertyTransformationRecord getTransformationRecord(atg.repository.search.indexing.specifier.OutputProperty pProperty)
pProperty
- the property whose record to fetch.public void doStartService() throws ServiceException
GenericRMIService
doStartService
in class atg.repository.search.indexing.IndexingOutputConfig
ServiceException
- if the Service had a problem starting upprotected void addDefaultOutputNameReplacements()
public atg.repository.search.indexing.LoaderResults performPartialUpdate(IndexingTask pTask) throws atg.repository.search.indexing.IndexingException
Indexable
performPartialUpdate
in interface Indexable
pTask
- the indexing task invoking the update. May be null
if called via another means.
atg.repository.search.indexing.IndexingException
public atg.repository.search.indexing.LoaderResults processQueuedIncrementalUpdates(atg.search.index.IndexInfo pIndexInfo, atg.repository.search.indexing.DocumentSubmitterSession pSession) throws atg.repository.search.indexing.IndexingException
atg.repository.search.indexing.IndexingException
public java.lang.String[] getDocumentLevelOutputProperties()
getDocumentLevelOutputProperties
in class atg.repository.search.indexing.IndexingOutputConfig
protected java.lang.String[] stringArrayReplaceString(java.lang.String[] pArray, java.lang.String pMatch, java.lang.String pReplace)
public java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getAllOutputProperties()
protected java.lang.String[] addInStrings(java.lang.String[] pStrings, java.lang.String[] pRequiredStrings)
addInStrings
in class atg.repository.search.indexing.IndexingOutputConfig
pStrings
- the source strings.pRequiredStrings
- the strings to add if they aren't already
in the list.protected boolean isRequiredFlagDisallowed(java.lang.String pFlag)
protected boolean stringListContainsName(java.lang.String[] pList, java.lang.String pName)
protected void mergeDuplicateProperties()
public java.util.List<atg.repository.search.indexing.specifier.OutputProperty> getOutputPropertiesAccessible(boolean pMeta)
public atg.repository.search.indexing.BulkLoaderResults performBaselineUpdate(IndexingTask pTask) throws atg.repository.search.indexing.IndexingException
Indexable
This is called "performBulkLoad" rather than "bulkLoad" so that MultiConfigLoader could implement it.
performBaselineUpdate
in interface Indexable
pTask
- the indexing task invoking the update. May be null
if called via another means.
atg.repository.search.indexing.IndexingException
public boolean isNeededForIncremental()
Indexable
isNeededForIncremental
in interface Indexable
public boolean mayNeedCleanup()
Indexable
mayNeedCleanup
in interface Indexable
public void postIndexingCleanup(IndexingTask pTask, boolean pSuccess, atg.repository.search.indexing.LoaderResults pResults) throws atg.repository.search.indexing.IndexingException
Indexable
postIndexingCleanup
in interface Indexable
pTask
- the current indexing task, if any.pSuccess
- true if we are cleaning up from a successful index,
false otherwise.pResults
- the loader results (if any) returns from
performBaselineUpdate and performPartialUpdate.
atg.repository.search.indexing.IndexingException
public boolean cancel(IndexingTask pTask, boolean pBaseline) throws atg.repository.search.indexing.IndexingException
cancel
in interface Indexable
pBaseline
- true if this is a baseline/full index, false if
this is an incremental/partial index.
atg.repository.search.indexing.IndexingException
public void afterSessionStart(atg.repository.search.indexing.Context pContext) throws atg.repository.search.indexing.IndexingException
afterSessionStart
in interface atg.repository.search.indexing.IndexingSynchronization
afterSessionStart
in class atg.repository.search.indexing.IndexingOutputConfig
atg.repository.search.indexing.IndexingException
public boolean isSupportsStatusCounts()
Indexable
isSupportsStatusCounts
in interface Indexable
public java.util.Set<java.lang.String> getIndexingOutputConfigPaths()
getIndexingOutputConfigPaths
in interface Indexable
protected atg.search.index.IndexInfo createDefaultIndexInfo()
createDefaultIndexInfo
in class atg.repository.search.indexing.IndexingOutputConfig
public atg.search.index.IndexInfo createTestIndexInfo() throws atg.repository.search.indexing.IndexingException
createTestIndexInfo
in class atg.repository.search.indexing.IndexingOutputConfig
atg.repository.search.indexing.IndexingException
protected javax.servlet.Servlet createAdminServlet()
GenericRMIService
createAdminServlet
in class atg.repository.search.indexing.IndexingOutputConfig
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |