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.setAclId(aclId);
|
||||||
nodeUpdateEntity.setUpdateAclId(true);
|
nodeUpdateEntity.setUpdateAclId(true);
|
||||||
updateNodeImpl(oldNode, nodeUpdateEntity, null);
|
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(
|
public void setPrimaryChildrenSharedAclId(
|
||||||
|
@ -1268,7 +1268,7 @@ public class DbNodeServiceImpl extends AbstractNodeServiceImpl
|
|||||||
invokeOnDeleteNode(
|
invokeOnDeleteNode(
|
||||||
nodeToDelete.primaryParentAssocPair.getSecond(),
|
nodeToDelete.primaryParentAssocPair.getSecond(),
|
||||||
childNodeTypeQName, childAspectQnames, archive);
|
childNodeTypeQName, childAspectQnames, archive);
|
||||||
nodeIndexer.indexDeleteNode(childAssocRef);
|
nodeIndexer.indexDeleteNode(nodeToDelete.primaryParentAssocPair.getSecond());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear out the list of nodes pending delete
|
// 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)
|
private void runPerformanceTest(double time, boolean clear)
|
||||||
{
|
{
|
||||||
ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
|
ADMLuceneIndexerImpl indexer = ADMLuceneIndexerImpl.getUpdateIndexer(rootNodeRef.getStoreRef(), "delta" + System.currentTimeMillis() + "_" + (new Random().nextInt()),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user