mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.1 to HEAD
6455: OpenOffice transformer and extractor register regardless of the initial connection state. 6456: Fix for WCM-636 (Clicking OK twice while deleting web project results in exception) 6457: Updated installers and associated config 6458: AR-1669 Add getQnamePath to Javascript 6459: Fix for AWC-1456 - Word and Excel documents were being stored as octet streams rather than their correct mimetype 6460: Reverse order of reject & approve transitions, so that approve appears first in list of ui actions. 6461: Removed Process.exe (often detected as a virus) and updated config wizard. 6462: Switch to synchronous indexing for AVM by default 6463: Better support to query the state of AVM indexes 6464: Added Office 2007 document mimetypes and icons 6465: Added Office 2007 icons without the typo this time git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6736 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -230,7 +230,7 @@ public class AVMSnapShotTriggeredIndexingMethodInterceptor implements MethodInte
|
||||
avmIndexer.index(store, before, after, getIndexMode(store));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void indexSnapshot(String store, int after)
|
||||
{
|
||||
StoreRef storeRef = AVMNodeConverter.ToStoreRef(store);
|
||||
@@ -279,7 +279,73 @@ public class AVMSnapShotTriggeredIndexingMethodInterceptor implements MethodInte
|
||||
return false;
|
||||
}
|
||||
|
||||
private synchronized IndexMode getIndexMode(String store)
|
||||
/**
|
||||
* Check if the index is up to date according to its index defintion and that all asynchronous work is done.
|
||||
*
|
||||
* @param store
|
||||
* @return
|
||||
*/
|
||||
public boolean isIndexUpToDateAndSearchable(String store)
|
||||
{
|
||||
|
||||
switch (getIndexMode(store))
|
||||
{
|
||||
case UNINDEXED:
|
||||
return false;
|
||||
case SYNCHRONOUS:
|
||||
case ASYNCHRONOUS:
|
||||
int last = avmService.getLatestSnapshotID(store);
|
||||
StoreRef storeRef = AVMNodeConverter.ToStoreRef(store);
|
||||
Indexer indexer = indexerAndSearcher.getIndexer(storeRef);
|
||||
if (indexer instanceof AVMLuceneIndexer)
|
||||
{
|
||||
AVMLuceneIndexer avmIndexer = (AVMLuceneIndexer) indexer;
|
||||
avmIndexer.flushPending();
|
||||
return avmIndexer.isSnapshotSearchable(store, last);
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the index is up to date according to its index defintion i it does not check that all asynchronous work is done.
|
||||
*
|
||||
* @param store
|
||||
* @return
|
||||
*/
|
||||
public boolean isIndexUpToDate(String store)
|
||||
{
|
||||
|
||||
switch (getIndexMode(store))
|
||||
{
|
||||
case UNINDEXED:
|
||||
return true;
|
||||
case SYNCHRONOUS:
|
||||
case ASYNCHRONOUS:
|
||||
int last = avmService.getLatestSnapshotID(store);
|
||||
StoreRef storeRef = AVMNodeConverter.ToStoreRef(store);
|
||||
Indexer indexer = indexerAndSearcher.getIndexer(storeRef);
|
||||
if (indexer instanceof AVMLuceneIndexer)
|
||||
{
|
||||
AVMLuceneIndexer avmIndexer = (AVMLuceneIndexer) indexer;
|
||||
avmIndexer.flushPending();
|
||||
return avmIndexer.getLastIndexedSnapshot(store) == last;
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Given an avm store name determine if it is indexed and if so how.
|
||||
*
|
||||
* @param store
|
||||
* @return
|
||||
*/
|
||||
public synchronized IndexMode getIndexMode(String store)
|
||||
{
|
||||
IndexMode mode = modeCache.get(store);
|
||||
if (mode == null)
|
||||
|
Reference in New Issue
Block a user