Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)

108039: Merged 5.0.N (5.0.3) to HEAD-BUG-FIX (5.1/Cloud)
      107604: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.3)
         107379: Merged DEV to V4.2-BUG-FIX (4.2.5)
            100688 : MNT-13713 : row.getValue() returns null when indexing with lucene and sort is applied.
               - Was implemented some code for query with sorting.
            107250 : MNT-13713 : row.getValue() returns null when indexing with lucene and sort is applied.
               - Added a test


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@108070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2015-07-09 22:09:53 +00:00
parent 65aa48b800
commit b34aaa4cfe
3 changed files with 63 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2005-2010 Alfresco Software Limited. * Copyright (C) 2005-2015 Alfresco Software Limited.
* *
* This file is part of Alfresco * This file is part of Alfresco
* *
@@ -214,6 +214,11 @@ public class SortedResultSet implements ResultSet
return resultSet.getResultSetMetaData(); return resultSet.getResultSetMetaData();
} }
public NodeService getNodeService()
{
return nodeService;
}
public ResultSetRow getRow(int i) public ResultSetRow getRow(int i)
{ {
if (i < length()) if (i < length())

View File

@@ -18,11 +18,13 @@
*/ */
package org.alfresco.repo.search.results; package org.alfresco.repo.search.results;
import java.io.Serializable;
import java.util.Map; import java.util.Map;
import org.alfresco.repo.search.AbstractResultSetRow; import org.alfresco.repo.search.AbstractResultSetRow;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.cmr.search.ResultSetRow;
import org.alfresco.service.namespace.QName;
/** /**
* @author andyh * @author andyh
@@ -60,8 +62,11 @@ public class SortedResultSetRow extends AbstractResultSetRow implements ResultSe
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
protected Map<QName, Serializable> getDirectProperties()
{
SortedResultSet srs = (SortedResultSet) getResultSet();
return srs.getNodeService().getProperties(srs.getNodeRef(getIndex()));
}

View File

@@ -31,12 +31,7 @@ import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.*;
import org.alfresco.service.cmr.search.PermissionEvaluationMode;
import org.alfresco.service.cmr.search.QueryConsistency;
import org.alfresco.service.cmr.search.ResultSet;
import org.alfresco.service.cmr.search.SearchParameters;
import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.cmr.security.MutableAuthenticationService; import org.alfresco.service.cmr.security.MutableAuthenticationService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -300,4 +295,53 @@ public class SearchServiceTest extends TestCase
assertEquals(results.getResultSetMetaData().getPermissionEvaluationMode(), PermissionEvaluationMode.EAGER); assertEquals(results.getResultSetMetaData().getPermissionEvaluationMode(), PermissionEvaluationMode.EAGER);
results.close(); results.close();
} }
// MNT-13713: row.getValue() returns null when indexing with lucene and sort is applied
public void testSearchWithSort()
{
authenticationComponent.setCurrentUser(AuthenticationUtil.getAdminUserName());
// Output with sort
// do some search and display the values sorted
SearchParameters sp = new SearchParameters();
sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.addSort("@cm:name", true);
sp.setQuery("TYPE:\"cm:content\"");
ResultSet rs = pubSearchService.query(sp);
try
{
for (ResultSetRow row : rs)
{
assertFalse(null == row.getValue(ContentModel.PROP_NAME));
}
}
finally
{
rs.close();
}
// Output without sort
// do some search and display the values sorted
sp = new SearchParameters();
sp.addStore(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE);
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.setQuery("TYPE:\"cm:content\"");
rs = pubSearchService.query(sp);
try
{
for (ResultSetRow row : rs)
{
assertFalse(null == row.getValue(ContentModel.PROP_NAME));
}
}
finally
{
rs.close();
}
}
} }