mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-21 18:09:20 +00:00
Merged searchrep (5.2.1) to 5.2.N (5.2.1)
136999 gjames: SEARCH-451: Better handling of invalid pivot params git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@137084 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -624,6 +624,11 @@ public class SearchMapper
|
|||||||
if (foundStat.isPresent())
|
if (foundStat.isPresent())
|
||||||
{
|
{
|
||||||
pivotKey = aPivot.getKey();
|
pivotKey = aPivot.getKey();
|
||||||
|
if (pivotKeys.isEmpty())
|
||||||
|
{
|
||||||
|
throw new InvalidArgumentException(InvalidArgumentException.DEFAULT_MESSAGE_ID,
|
||||||
|
new Object[] { ": Stats key " + pivotKey + " cannot be used here" });
|
||||||
|
}
|
||||||
pivotKeys.add(pivotKey);
|
pivotKeys.add(pivotKey);
|
||||||
searchRequestContext.getPivotKeys().put(pivotKey, pivotKey);
|
searchRequestContext.getPivotKeys().put(pivotKey, pivotKey);
|
||||||
}
|
}
|
||||||
@@ -636,6 +641,11 @@ public class SearchMapper
|
|||||||
if (aRange.getTags().contains(aPivot.getKey()))
|
if (aRange.getTags().contains(aPivot.getKey()))
|
||||||
{
|
{
|
||||||
pivotKey = aPivot.getKey();
|
pivotKey = aPivot.getKey();
|
||||||
|
if (pivotKeys.isEmpty())
|
||||||
|
{
|
||||||
|
throw new InvalidArgumentException(InvalidArgumentException.DEFAULT_MESSAGE_ID,
|
||||||
|
new Object[] { ": Range key " + pivotKey + " cannot be used here" });
|
||||||
|
}
|
||||||
pivotKeys.add(pivotKey);
|
pivotKeys.add(pivotKey);
|
||||||
searchRequestContext.getPivotKeys().put(pivotKey, pivotKey);
|
searchRequestContext.getPivotKeys().put(pivotKey, pivotKey);
|
||||||
}
|
}
|
||||||
|
@@ -830,10 +830,11 @@ public class SearchMapperTests
|
|||||||
|
|
||||||
List<FacetField> facets = new ArrayList<>(1);
|
List<FacetField> facets = new ArrayList<>(1);
|
||||||
facets.add(new FacetField("myfield",null,null,null,null,null,null,null,null,null,null));
|
facets.add(new FacetField("myfield",null,null,null,null,null,null,null,null,null,null));
|
||||||
|
facets.add(new FacetField("yourfield",null,null,null,null,null,null,null,null,null,null));
|
||||||
FacetFields ff = new FacetFields(facets);
|
FacetFields ff = new FacetFields(facets);
|
||||||
searchMapper.fromFacetFields(searchParameters,ff);
|
searchMapper.fromFacetFields(searchParameters,ff);
|
||||||
searchMapper.fromPivot(searchParameters, null, ff, null, null, null);
|
searchMapper.fromPivot(searchParameters, null, ff, null, null, null);
|
||||||
assertEquals(1 ,searchParameters.getFieldFacets().size());
|
assertEquals(2 ,searchParameters.getFieldFacets().size());
|
||||||
assertEquals(0 ,searchParameters.getPivots().size());
|
assertEquals(0 ,searchParameters.getPivots().size());
|
||||||
|
|
||||||
//Handle unknown pivot.
|
//Handle unknown pivot.
|
||||||
@@ -865,11 +866,18 @@ public class SearchMapperTests
|
|||||||
//"bob" doesn't refer to a field facet but its the last one so needs to refer to a stat
|
//"bob" doesn't refer to a field facet but its the last one so needs to refer to a stat
|
||||||
StatsRequestParameters bobf = new StatsRequestParameters("bob", null, null, null,null, null, null, null,null, null, null, null,null, null, null, null);
|
StatsRequestParameters bobf = new StatsRequestParameters("bob", null, null, null,null, null, null, null,null, null, null, null,null, null, null, null);
|
||||||
StatsRequestParameters bobL = new StatsRequestParameters("creator", "bob", null, null,null, null, null, null,null, null, null, null,null, null, null, null);
|
StatsRequestParameters bobL = new StatsRequestParameters("creator", "bob", null, null,null, null, null, null,null, null, null, null,null, null, null, null);
|
||||||
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, null, Arrays.asList(new Pivot("bob", null)), searchRequestContext);
|
try
|
||||||
assertEquals(1 ,searchParameters.getPivots().size());
|
{
|
||||||
|
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, null, Arrays.asList(new Pivot("bob", null)), searchRequestContext);
|
||||||
|
fail();
|
||||||
|
}
|
||||||
|
catch (InvalidArgumentException iae)
|
||||||
|
{
|
||||||
|
//"bob" refers to a stat but it can't be at the root pivot, it needs to be nested
|
||||||
|
assertNotNull(iae);
|
||||||
|
}
|
||||||
|
|
||||||
searchParameters = new SearchParameters();
|
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, null, Arrays.asList(new Pivot("yourfield", Arrays.asList(new Pivot("bob", null)))), searchRequestContext);
|
||||||
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, null, Arrays.asList(new Pivot("bob", null)), searchRequestContext);
|
|
||||||
assertEquals(1 ,searchParameters.getPivots().size());
|
assertEquals(1 ,searchParameters.getPivots().size());
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -941,12 +949,13 @@ public class SearchMapperTests
|
|||||||
ff = new FacetFields(facets);
|
ff = new FacetFields(facets);
|
||||||
rangeParams.add(new RangeParameters("content.size", "0", "100000", "1000",true,null,null,Arrays.asList("hope"),null));
|
rangeParams.add(new RangeParameters("content.size", "0", "100000", "1000",true,null,null,Arrays.asList("hope"),null));
|
||||||
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, rangeParams,
|
searchMapper.fromPivot(searchParameters, Arrays.asList(bobf), ff, rangeParams,
|
||||||
Arrays.asList(new Pivot("king", Arrays.asList(new Pivot("bob", null))), new Pivot("hope", null)), searchRequestContext);
|
Arrays.asList(new Pivot("king", Arrays.asList(new Pivot("bob", null))), new Pivot("kong", Arrays.asList(new Pivot("hope", null)))), searchRequestContext);
|
||||||
assertEquals(2 ,searchParameters.getPivots().size());
|
assertEquals(2 ,searchParameters.getPivots().size());
|
||||||
assertEquals(2 ,searchParameters.getPivots().get(0).size());
|
assertEquals(2 ,searchParameters.getPivots().get(0).size());
|
||||||
assertEquals("king" ,searchParameters.getPivots().get(0).get(0));
|
assertEquals("king" ,searchParameters.getPivots().get(0).get(0));
|
||||||
assertEquals("bob" ,searchParameters.getPivots().get(0).get(1));
|
assertEquals("bob" ,searchParameters.getPivots().get(0).get(1));
|
||||||
assertEquals("hope" ,searchParameters.getPivots().get(1).get(0));
|
assertEquals("kong" ,searchParameters.getPivots().get(1).get(0));
|
||||||
|
assertEquals("hope" ,searchParameters.getPivots().get(1).get(1));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user