- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
Critical
 - 
    4.3.0
 - 
    None
 - 
    None
 
- 
        4.3 RC2
 
The ReferenceTableSearchUIModel are not impacted and work well
Create a static Search Model configured with a content type which has a 'multilingual' title attribute
For instance:
<content-types> <content-type id="odf-enumeration.Mention"/> </content-types>
Then when searching, we got an error like this:
2020-03-20 11:43:23,008 ERROR [org.ametys.plugins.core.ui] (http-nio-10004-exec-7;/cms/plugins/core-ui/servercomm/messages.xml) Can not dispatch request '3' : 'cms' 'select-content-search/list.json' '{query=, model=search-ui.my-search-model, id=null, excludeSubContents=true, contextualParameters={language=fr}, values={metadata-title-like=, property-contentLanguage-eq=fr, property-contentTypeOrMixin-eq=odf-enumeration.Mention}, page=1, start=0, limit=50, sort=[{"property":"title","direction":"ASC"}]}'
org.apache.cocoon.util.location.LocatedException: Can not dispatch request '3' : 'cms' 'select-content-search/list.json' '{query=, model=search-ui.my-search-model, id=null, excludeSubContents=true, contextualParameters={language=fr}, values={metadata-title-like=, property-contentLanguage-eq=fr, property-contentTypeOrMixin-eq=odf-enumeration.Mention}, page=1, start=0, limit=50, sort=[{"property":"title","direction":"ASC"}]}'
	at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:194)
	at org.ametys.core.ui.dispatcher.DispatchGenerator.generate(DispatchGenerator.java:92)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:581)
	[...]
Caused by: org.apache.excalibur.source.SourceException: Exception during processing of cocoon://_plugins/cms/select-content-search/list.json?query=&model=search-ui.my-search-model&excludeSubContents=true&contextualParameters={language%3Dfr}&values={metadata-title-like%3D, property-contentLanguage-eq%3Dfr, property-contentTypeOrMixin-eq%3Dodf-enumeration.Mention}&page=1&start=0&limit=50&sort=[{"property":"title","direction":"ASC"}]&
	at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:277)
	at org.ametys.core.ui.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:153)
	... 69 more
Caused by: org.apache.cocoon.ProcessingException: Failed to process reader
	at <map:read type="search-json"> - file:/G:/Dev/Ametys/kernel/07_CMS/master/main/plugin-cms/sitemap.xmap:501:51
	at org.apache.cocoon.ProcessingException.throwLocated(ProcessingException.java:113)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:959)
	at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processReader(AbstractCachingProcessingPipeline.java:940)
	at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:475)
	at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:267)
	... 70 more
Caused by: java.lang.IllegalArgumentException: Try to convert the non java.lang.String value 'org.ametys.plugins.repository.metadata.MultilingualString@e2ba6be' to JSON
	at org.ametys.core.model.type.AbstractElementType.valueToJSONForClient(AbstractElementType.java:103)
	at org.ametys.cms.search.content.ContentSearchHelper._transformSingleValue(ContentSearchHelper.java:690)
	at org.ametys.cms.search.content.ContentSearchHelper._transformValue(ContentSearchHelper.java:639)
	at org.ametys.cms.search.content.ContentSearchHelper.getAttributeValue(ContentSearchHelper.java:487)
	at org.ametys.cms.search.ui.model.impl.MetadataSearchUIColumn.getValue(MetadataSearchUIColumn.java:401)
	at org.ametys.cms.search.content.ContentValuesExtractorFactory$SearchModelContentValuesExtractor.getValues(ContentValuesExtractorFactory.java:164)
	at org.ametys.cms.search.cocoon.SearchJsonReader.getContentData(SearchJsonReader.java:285)
	at org.ametys.cms.search.cocoon.SearchJsonReader.setContents(SearchJsonReader.java:212)
	at org.ametys.cms.search.cocoon.SearchJsonReader.convertResults2JsonObject(SearchJsonReader.java:163)
	at org.ametys.cms.search.cocoon.SearchJsonReader.generate(SearchJsonReader.java:124)
	at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processReader(AbstractCachingProcessingPipeline.java:921)
	... 72 more
It seems that the model of 'title' is considered as 'string' and not 'multilingual'
Because on startup of the application, during the following trace:
StaticSearchUIModel(AbstractSearchUIModel).addContentTypesConfiguration(DefaultConfiguration, Set<String>) line: 520 StaticSearchUIModel(AbstractSearchUIModel).getMetadataColumnConfiguration(Configuration, Set<String>, String) line: 470 StaticSearchUIModel._addMetadataColumnComponents(Set<ContentType>, Configuration, String, List<String>) line: 882 StaticSearchUIModel._addColumnsComponents(Set<ContentType>, Configuration, List<String>) line: 846 StaticSearchUIModel.configure(Configuration) line: 198 ContainerUtil.configure(Object, Configuration) line: 202 ThreadSafeComponentManager$ComponentFactory.configureAndStart(T) line: 359 ThreadSafeComponentManager$ComponentFactory.newInstance() line: 378 ThreadSafeComponentManager<T>.initialize() line: 206 SearchUIModelExtensionPoint(AbstractThreadSafeComponentExtensionPoint<T>).initializeExtensions() line: 96 [...]
 baseContentTypeIds is an empty set, because in org.ametys.cms.search.ui.model.StaticSearchUIModel._addMetadataColumnComponents(Set<ContentType>, Configuration, String, List<String>) (line 882), when the metadataPath is tittle, we explicitly pass an empty set
 And then, when configuring the corresponding MetadataSearchUIColumn, in org.ametys.cms.search.ui.model.impl.MetadataSearchUIColumn._configureModelItems(Set<String>, String) (line 227), the type is explictly and harcoded set to 'STRING'
- discovered while testing
 - 
                    
CMS-9974 [SearchModel] Reference table : Impossible to have a contentTypes field
-         
 - Closed
 
 -         
 
- Est référencé par
 - 
                    
CMS-10322 [ContentSearchHelper] the #getAttributeValue should not take the modelItem as parameter
-         
 - Open
 
 -         
 
- Référence
 - 
                    
CMS-9525 [Solr search tool] Multiple common ancestors
-         
 - Closed
 
 -