Merge branch 'feature/SEARCH-1689' of git.alfresco.com:search_discovery/insightengine into feature/SEARCH_1687_ContentStore_Removal

This commit is contained in:
eliaporciani
2020-01-22 16:58:05 +01:00
2 changed files with 37 additions and 15 deletions

View File

@@ -33,6 +33,8 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static java.util.Optional.of;
/** /**
* @author Andy, Elia * @author Andy, Elia
* *
@@ -50,6 +52,7 @@ public class AlfrescoFieldMapperTransformer extends DocTransformer
return "fmap"; return "fmap";
} }
public void setContext( ResultContext context ) public void setContext( ResultContext context )
{ {
this.context = context; this.context = context;
@@ -116,7 +119,12 @@ public class AlfrescoFieldMapperTransformer extends DocTransformer
} }
private Object getFieldValue(SchemaField schemaField, Object value){ private Object getFieldValue(SchemaField schemaField, Object value){
if (value instanceof IndexableField)
{
Object indexedValue = DocsStreamer.getValue(schemaField, (IndexableField) value); Object indexedValue = DocsStreamer.getValue(schemaField, (IndexableField) value);
return indexedValue instanceof String? removeLocale((String) indexedValue) : indexedValue; return indexedValue instanceof String? removeLocale((String) indexedValue) : indexedValue;
} }
return value;
}
} }

View File

@@ -63,7 +63,6 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
@BeforeClass @BeforeClass
public static void initData() throws Throwable public static void initData() throws Throwable
{ {
// FIXME: 1 shard??
initSolrServers(1, AlfrescoFieldMapperTransformerIT.getSimpleClassName(), null); initSolrServers(1, AlfrescoFieldMapperTransformerIT.getSimpleClassName(), null);
populateAlfrescoData(); populateAlfrescoData();
} }
@@ -78,7 +77,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
public void transformDocument_noDocTransformer_shouldReturnBasicFields() throws Exception public void transformDocument_noDocTransformer_shouldReturnBasicFields() throws Exception
{ {
putHandleDefaults(); putHandleDefaults();
//Test 1: Running a simple query without invoking CachedDocTransformer, expected to see id,DBID and _version_ //Test 1: Running a simple query without invoking AlfrescoFieldMapperTransformer, expected to see id,DBID and _version_
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts"));
assertNotNull(resp); assertNotNull(resp);
SolrDocumentList results = resp.getResults(); SolrDocumentList results = resp.getResults();
@@ -104,8 +103,8 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
//Test 2: Running simple query with CachedDocTransformer, expected to see all fields returned //Test 2: Running simple query with AlfrescoFieldMapperTransformer, expected to see all fields returned
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","*,[cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","*,[fmap]"));
SolrDocument docWithAllFields = resp.getResults().get(0); SolrDocument docWithAllFields = resp.getResults().get(0);
assertTrue(docWithAllFields.size() > 3); assertTrue(docWithAllFields.size() > 3);
@@ -126,8 +125,8 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
//Test 3: Running simple query with CachedDocTransformer, expected to see selected fields returned //Test 3: Running simple query with AlfrescoFieldMapperTransformer, expected to see selected fields returned
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id,DBID,[cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id,DBID,[fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocument docWithRequestedFields = resp.getResults().get(0); SolrDocument docWithRequestedFields = resp.getResults().get(0);
@@ -141,8 +140,23 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
//Test 4: Running simple query with CachedDocTransformer on non default fields, expected to see selected fields returned //Test 4: Running simple query with fmapDocTransformer on non default fields, expected to see selected fields returned
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[fmap]"));
assertNotNull(resp);
SolrDocument docWithRequestedFields3 = resp.getResults().get(0);
assertEquals(2, docWithRequestedFields3.size());
assertNotNull(docWithRequestedFields3.get("id"));
String title = (String) docWithRequestedFields3.getFieldValue("cm_title");
assertEquals("title1", title);
}
@Test
public void transformDocument_docTransformerSetTwice_shouldWorkWithoutErrors() throws Exception
{
putHandleDefaults();
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[fmap], [fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocument docWithRequestedFields3 = resp.getResults().get(0); SolrDocument docWithRequestedFields3 = resp.getResults().get(0);
@@ -157,7 +171,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_name, score, [cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_name, score, [fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocumentList results = resp.getResults(); SolrDocumentList results = resp.getResults();
SolrDocument docWithAllFields = results.get(0); SolrDocument docWithAllFields = results.get(0);
@@ -172,7 +186,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, cm_created, DBID, score, [cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, cm_created, DBID, score, [fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocumentList results = resp.getResults(); SolrDocumentList results = resp.getResults();
SolrDocument docWithAllFields = results.get(0); SolrDocument docWithAllFields = results.get(0);
@@ -188,7 +202,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm?title, *name, [cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm?title, *name, [fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocumentList results = resp.getResults(); SolrDocumentList results = resp.getResults();
SolrDocument docWithAllFields = results.get(0); SolrDocument docWithAllFields = results.get(0);
@@ -203,7 +217,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
{ {
putHandleDefaults(); putHandleDefaults();
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, [explain], [cached]")); QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, [explain], [fmap]"));
assertNotNull(resp); assertNotNull(resp);
SolrDocumentList results = resp.getResults(); SolrDocumentList results = resp.getResults();
SolrDocument docWithAllFields = results.get(0); SolrDocument docWithAllFields = results.get(0);