org.alfresco.repo.search
Class AVMSnapShotTriggeredIndexingMethodInterceptor

java.lang.Object
  extended by org.alfresco.repo.search.AVMSnapShotTriggeredIndexingMethodInterceptor
All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor

public class AVMSnapShotTriggeredIndexingMethodInterceptor
extends java.lang.Object
implements org.aopalliance.intercept.MethodInterceptor

Method interceptor for atomic indexing of AVM entries The properties can defined how stores are indexed based on type (as set by Alfresco the Web site management UI) or based on the name of the store. Creates and deletes are indexed synchronously. Updates may be asynchronous, synchronous or ignored by the index.


Nested Class Summary
static class AVMSnapShotTriggeredIndexingMethodInterceptor.StoreType
           
 
Field Summary
static org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_MAIN
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_PREVIEW
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_WORKFLOW_MAIN
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_WORKFLOW_PREVIEW
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_STAGING_MAIN
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_STAGING_PREVIEW
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_WORKFLOW_MAIN
           
static org.alfresco.service.namespace.QName PROP_SANDBOX_WORKFLOW_PREVIEW
           
 
Constructor Summary
AVMSnapShotTriggeredIndexingMethodInterceptor()
           
 
Method Summary
 void createIndex(java.lang.String store)
           
 void deleteIndex(java.lang.String store)
           
 AVMLuceneIndexer getIndexer(java.lang.String store)
           
 IndexMode getIndexMode(java.lang.String store)
          Given an avm store name determine if it is indexed and if so how.
 int getLastIndexedSnapshot(java.lang.String store)
           
 boolean hasIndexBeenCreated(java.lang.String store)
           
 void indexSnapshot(java.lang.String store, int after)
           
 void indexSnapshot(java.lang.String store, int before, int after)
           
 java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation mi)
           
 boolean isIndexingEnabled()
          Is snapshot triggered indexing enabled
 boolean isIndexUpToDate(java.lang.String store)
          Check if the index is up to date according to its index defintion i it does not check that all asynchronous work is done.
 boolean isIndexUpToDateAndSearchable(java.lang.String store)
          Check if the index is up to date according to its index defintion and that all asynchronous work is done.
 boolean isSnapshotIndexed(java.lang.String store, int id)
          Is the snapshot applied to the index? Is there an entry for any node that was added OR have all the nodes in the transaction been deleted as expected?
 void setAvmService(AVMService avmService)
          Set the AVM service
 void setDefaultMode(IndexMode defaultMode)
          Set the default index mode = used when there are no matches
 void setEnableIndexing(boolean enableIndexing)
          Enable or disable indexing
 void setIndexerAndSearcher(IndexerAndSearcher indexerAndSearcher)
          Set the AVM indexer and searcher
 void setIndexingDefinitions(java.util.List definitions)
          Set the index modes....
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_SANDBOX_STAGING_MAIN

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_STAGING_MAIN

PROP_SANDBOX_STAGING_PREVIEW

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_STAGING_PREVIEW

PROP_SANDBOX_AUTHOR_MAIN

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_MAIN

PROP_SANDBOX_AUTHOR_PREVIEW

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_PREVIEW

PROP_SANDBOX_WORKFLOW_MAIN

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_WORKFLOW_MAIN

PROP_SANDBOX_WORKFLOW_PREVIEW

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_WORKFLOW_PREVIEW

PROP_SANDBOX_AUTHOR_WORKFLOW_MAIN

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_WORKFLOW_MAIN

PROP_SANDBOX_AUTHOR_WORKFLOW_PREVIEW

public static final org.alfresco.service.namespace.QName PROP_SANDBOX_AUTHOR_WORKFLOW_PREVIEW
Constructor Detail

AVMSnapShotTriggeredIndexingMethodInterceptor

public AVMSnapShotTriggeredIndexingMethodInterceptor()
Method Detail

invoke

public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation mi)
                        throws java.lang.Throwable
Specified by:
invoke in interface org.aopalliance.intercept.MethodInterceptor
Throws:
java.lang.Throwable

setAvmService

public void setAvmService(AVMService avmService)
Set the AVM service

Parameters:
avmService -

setIndexerAndSearcher

public void setIndexerAndSearcher(IndexerAndSearcher indexerAndSearcher)
Set the AVM indexer and searcher

Parameters:
indexerAndSearcher -

setEnableIndexing

public void setEnableIndexing(boolean enableIndexing)
Enable or disable indexing

Parameters:
enableIndexing -

setIndexingDefinitions

public void setIndexingDefinitions(java.util.List definitions)
Set the index modes.... Strings of the form ... (ASYNCHRONOUS | SYNCHRONOUS | UNINDEXED):(NAME | TYPE):regexp

Parameters:
definitions -

setDefaultMode

public void setDefaultMode(IndexMode defaultMode)
Set the default index mode = used when there are no matches

Parameters:
defaultMode -

isIndexingEnabled

public boolean isIndexingEnabled()
Is snapshot triggered indexing enabled

Returns:
true if indexing is enabled for AVM

indexSnapshot

public void indexSnapshot(java.lang.String store,
                          int before,
                          int after)
Parameters:
store -
before -
after -

indexSnapshot

public void indexSnapshot(java.lang.String store,
                          int after)
Parameters:
store -
after -

getLastIndexedSnapshot

public int getLastIndexedSnapshot(java.lang.String store)
Parameters:
store -
Returns:
- the last indexed snapshot

isSnapshotIndexed

public boolean isSnapshotIndexed(java.lang.String store,
                                 int id)
Is the snapshot applied to the index? Is there an entry for any node that was added OR have all the nodes in the transaction been deleted as expected?

Parameters:
store -
id -
Returns:
- true if applied, false if not

isIndexUpToDateAndSearchable

public boolean isIndexUpToDateAndSearchable(java.lang.String store)
Check if the index is up to date according to its index defintion and that all asynchronous work is done.

Parameters:
store -
Returns:

isIndexUpToDate

public boolean isIndexUpToDate(java.lang.String store)
Check if the index is up to date according to its index defintion i it does not check that all asynchronous work is done.

Parameters:
store -
Returns:

getIndexMode

public IndexMode getIndexMode(java.lang.String store)
Given an avm store name determine if it is indexed and if so how.

Parameters:
store -
Returns:

hasIndexBeenCreated

public boolean hasIndexBeenCreated(java.lang.String store)

createIndex

public void createIndex(java.lang.String store)

getIndexer

public AVMLuceneIndexer getIndexer(java.lang.String store)

deleteIndex

public void deleteIndex(java.lang.String store)


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.