mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-07 18:25:23 +00:00
Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
64835: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (4.3/Cloud) 64763: Merged V4.1-BUG-FIX (4.1.9) to V4.2-BUG-FIX (4.2.2) 64693: Merged V4.1.8 (4.1.8) to V4.1-BUG-FIX (4.1.9) 64175: Merged DEV to 4.1.8 64114: MNT-10796: Incorrect search result when content is deleted. - DBNodeServiceImpl#deleteNode() was updated that will delete a node entry from an index. Requires retest of MNT-3337 and MNT-8485. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@66196 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
parent
267fffbe37
commit
dd247ae264
@ -1937,9 +1937,6 @@ public abstract class AbstractNodeDAOImpl implements NodeDAO, BatchingDAO
|
||||
nodeUpdateEntity.setAclId(aclId);
|
||||
nodeUpdateEntity.setUpdateAclId(true);
|
||||
updateNodeImpl(oldNode, nodeUpdateEntity, null);
|
||||
// Node must be indexed.
|
||||
// Calls to this method are usually made directly
|
||||
nodeIndexer.indexUpdateNode(oldNode.getNodeRef()); // Fix MNT-8485 and refix MNT-3337
|
||||
}
|
||||
|
||||
public void setPrimaryChildrenSharedAclId(
|
||||
|
@ -1268,7 +1268,7 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl
|
||||
invokeOnDeleteNode(
|
||||
nodeToDelete.primaryParentAssocPair.getSecond(),
|
||||
childNodeTypeQName, childAspectQnames, archive);
|
||||
nodeIndexer.indexDeleteNode(childAssocRef);
|
||||
nodeIndexer.indexDeleteNode(nodeToDelete.primaryParentAssocPair.getSecond());
|
||||
}
|
||||
|
||||
// Clear out the list of nodes pending delete
|
||||
|
@ -7772,6 +7772,62 @@ public class ADMLuceneTest extends TestCase implements DictionaryListener
|
||||
|
||||
}
|
||||
|
||||
public void test_MNT_10796() throws Exception
|
||||
{
|
||||
String contentName = "testContent7.txt";
|
||||
String quary = "cm:name:\"" + contentName + "\"";
|
||||
this.authenticationComponent.setCurrentUser("admin");
|
||||
|
||||
SearchParameters sp = new SearchParameters();
|
||||
sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
|
||||
sp.setQuery(quary);
|
||||
sp.addStore(rootNodeRef.getStoreRef());
|
||||
sp.excludeDataInTheCurrentTransaction(false);
|
||||
|
||||
ResultSet results;
|
||||
ResultSetMetaData md;
|
||||
|
||||
results = serviceRegistry.getSearchService().query(sp);
|
||||
assertEquals(0, results.length());
|
||||
results.close();
|
||||
|
||||
Map<QName, Serializable> properties = new HashMap<QName, Serializable>();
|
||||
|
||||
properties.put(ContentModel.PROP_NAME, "folder");
|
||||
NodeRef folder = nodeService.createNode(rootNodeRef, ASSOC_TYPE_QNAME, QName.createQName("{namespace}MNT-10796"), ContentModel.TYPE_FOLDER, properties).getChildRef();
|
||||
//System.out.println("folder=" + folder.toString());
|
||||
|
||||
properties.put(ContentModel.PROP_NAME, "folder2");
|
||||
NodeRef folder2 = nodeService.createNode(folder, ASSOC_TYPE_QNAME, QName.createQName("{namespace}MNT-10796"), ContentModel.TYPE_FOLDER, properties).getChildRef();
|
||||
//System.out.println("folder2=" + folder2.toString());
|
||||
|
||||
properties.put(ContentModel.PROP_NAME, contentName);
|
||||
NodeRef testContent = nodeService.createNode(folder2, ASSOC_TYPE_QNAME, QName.createQName("{namespace}MNT-10796"), ContentModel.TYPE_CONTENT, properties).getChildRef();
|
||||
//System.out.println("testContent=" + testContent.toString());
|
||||
|
||||
sp = new SearchParameters();
|
||||
sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
|
||||
sp.setQuery(quary);
|
||||
sp.addStore(rootNodeRef.getStoreRef());
|
||||
sp.excludeDataInTheCurrentTransaction(false);
|
||||
|
||||
results = serviceRegistry.getSearchService().query(sp);
|
||||
assertEquals(1, results.length());
|
||||
results.close();
|
||||
|
||||
nodeService.deleteNode(folder);
|
||||
|
||||
sp = new SearchParameters();
|
||||
sp.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
|
||||
sp.setQuery(quary);
|
||||
sp.addStore(rootNodeRef.getStoreRef());
|
||||
sp.excludeDataInTheCurrentTransaction(false);
|
||||
|
||||
results = serviceRegistry.getSearchService().query(sp);
|
||||
assertEquals(0, results.length());
|
||||
results.close();
|
||||
}
|
||||
|
||||
private void runPerformanceTest(double time, boolean clear)
|
||||
{
|
||||
ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
|
||||
|
Loading…
x
Reference in New Issue
Block a user